爬爬今天爬小说————爬虫练习

爬不同的的小说,会有略微的改动

我今天这个是从一章的提前到全部的提前。

 

在我们电脑里面了,想怎么看就怎么看。

代码代码:

import re
import requestsheaders = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}
mainUrl = "https://www.xzmncy.com/list/53005/"
mainText = requests.get(mainUrl,headers=headers).text
#<dd><a href="/list/.*.html" title=".*?">.*?</a></dd>
my_re = re.findall('<dd><a href="(.*?)" title="(.*?)">.*?</a></dd>',mainText)
for info in my_re:url = "https://www.xzmncy.com"+info[0]response = requests.get(url,headers=headers).textcontent = re.findall('<div id="htmlContent"><p>(.*?)</p>', response)if content == []:continueelse:con = content[0]con = con.replace("<br>","\n")Mcontent = '\n\n'+info[1]+'\n\n'+con+"\n--=====================---------------\n"print(Mcontent)f = open('逆命相师(全).txt', mode='a', encoding='utf-8')f.write(Mcontent)

唉代码好少,但是挫折不断,一会这里报错哪里报错,有的章的写入方式会有区别。

说一下代码:

1.这个头可以不用,因为是笔趣阁 哈哈哈!!!

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}

2.

这个是章节的网址,并对章节的进行解析。

mainUrl = "https://www.xzmncy.com/list/53005/"
mainText = requests.get(mainUrl,headers=headers).text

3.利用正则表达式找到网址和题目

my_re = re.findall('<dd><a href="(.*?)" title="(.*?)">.*?</a></dd>',mainText)

4.加入网址的正确格式,进行解析

for info in my_re:url = "https://www.xzmncy.com"+info[0]response = requests.get(url,headers=headers).text

5.

上面两个就是拿到内容!

6.

这个是我临时加的,奶的有问题。每个情况不一样。

content = re.findall('<div id="htmlContent"><p>(.*?)</p>', response)if content == []:continue

7.

content[0]是一个字符串

进行字符串的替换,就行

然后是写入

con = content[0]con = con.replace("<br>","\n")Mcontent = '\n\n'+info[1]+'\n\n'+con+"\n--=====================---------------\n"print(Mcontent)f = open('逆命相师(全).txt', mode='a', encoding='utf-8')f.write(Mcontent)

OK了,昨天搞得唉,下面的与这个无关就是一个失败的作品


import re
import os
import requests
from bs4 import BeautifulSouplist_1=[]
list_2=[]
list_3=[]
list_4=[]
list_5=[]
list_6=[]url = "https://b.faloo.com/1389943.html"
headers = {"Cookie":"host4chongzhi=https%3a%2f%2fwww.faloo.com%2f; readline=1; fontFamily=1; fontsize=16; font_Color=666666; curr_url=https%3A//b.faloo.com/1389943.html; bgcolor=%23FFFFFE; vip_img_width=5","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}html = requests.get(url,headers=headers)
html=html.text
soup = BeautifulSoup(html,'html.parser')
all_ico=soup.find(class_="DivTable")
#名字
title = soup.find(class_="fs23 colorHei")
title = title.string
#print(f"小说名:{title}")
list_1.append(title)
#章节名
all_title_a = all_ico.find_all("a")
for i in all_title_a:s_title = i["title"]s_title = s_title[:-11:1]s_title = s_title[15::1]#print(s_title)list_2.append(s_title)
#章节URLhref = i["href"]list_3.append(href)# https://b.faloo.com/1389943.htmlhref_url = 'https:' + hreflist_4.append(href_url)

这个就是没有用正则表达式用的Beautifulsoup这个解析,然后找class类,然后在找class,然后在找“a”,然后把“title”找出来,存到列表中,然后把“herf找出来,在组合”,然后存列表。

其实这个就是已经拿到内容了,然后因为错误是在不行,就没有继续了。因为re更为的方便,直接找内容,然后取列表的【0】就可以拿到,字符串的文章内容。所以就跳过了。

发现用css也很简单


下面这个是提前单章的:
 

import requests
import reurl = "https://www.biqg.cc/book/6909/1.html"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}response = requests.get(url,headers=headers).textcontent = re.findall('<div id="chaptercontent" class="Readarea ReadAjax_content">(.*)',response)[0]content = content.replace("<br /><br />","\n")
print(content)
f=open('人道大圣.txt',mode='a',encoding='utf-8')
f.write(content)

下面还是:

import requests
import reurl = "https://www.xzmncy.com/list/53005/24924612.html"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}response = requests.get(url,headers=headers).text
content = re.findall('<div id="htmlContent"><p>(.*?)</p></div>',response)[0]
content = content.replace("<br>","\n")
print(content)f=open('逆命相师.txt',mode='a',encoding='utf-8')
f.write(content)

区别是一个是学习,一个是实战。

OK结束。开始今天的学习了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2778555.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SAP-PP-01-004物料主数据MRP视图参数

一、MRP1 MRP组 系统运行的 mrp 控制参数的组别。包含物料主数据中的一些 MRP 参数字段及工厂运行 MRP 控制设置参数&#xff0c;例如策略组、消耗模式、重计划期间、计划区间、计划时界、BOM 展开、计划订单转换的采购申请&#xff08;PR&#xff09;类型等。 工厂特定的物料…

【Java八股面试系列】JVM-类和对象加载过程

目录 类和对象的加载过程 类的生命周期 类的加载过程 加载 验证 准备 解析 初始化 类卸载 对象的加载过程 类和对象的加载过程 什么是类加载和对象加载? 类加载&#xff08;Class Loading&#xff09;&#xff1a;这是指JVM在运行时将类的字节码文件加载到内存中的…

Cubase学习:音频转midi

大家好!我是诗书画唱!今天要分享的小技巧就是Cubase中的音频转midi的功能!希望对你有所帮助!以后我会在这个账号分享自己知道的很多小技巧!关注我!不迷路!大家也可以关注我后,在我的空间搜索关键词,找到各种对应的教程进行学习,非常的方便!而且自己的教程会尽可能纠…

算法学习——LeetCode力扣二叉树篇3

算法学习——LeetCode力扣二叉树篇3 116. 填充每个节点的下一个右侧节点指针 116. 填充每个节点的下一个右侧节点指针 - 力扣&#xff08;LeetCode&#xff09; 描述 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树…

【Linux】学习-深入了解文件的读与写

深入了解语言级别(C语言)文件操作的"读"与"写" 在学习前&#xff0c;我们先要知道在Linux下的一个原则&#xff1a;一切皆是文件 如何理解呢&#xff1f;举个外设的例子&#xff0c;比如键盘和显示器&#xff0c;这两个外设也可以其实本质上也是文件&…

【5G NR】【一文读懂系列】移动通讯中使用的信道编解码技术-Viterbi译码原理

目录 一、引言 二、Viterbi译码的基本原理 2.1 卷积码与网格图 2.2 Viterbi算法的核心思想 2.3 路径度量与状态转移 三、Viterbi译码算法工作原理详解 3.1 算法流程 3.2 关键步骤 3.3 译码算法举例 3.4 性能特点 四、Viterbi译码的应用场景 4.1 移动通信系统 4.2 卫…

人工智能如何彻底改变身份欺诈

据 AuthenticID 称&#xff0c;近一半的企业报告合成身份欺诈有所增加&#xff0c;而生物识别欺骗和伪造 ID 欺诈尝试也有所增加。 在当今的数字化存在中&#xff0c;消费者和企业都面临着新的挑战&#xff0c;从考虑数字身份的影响到应对生成人工智能等新工具的使用和流行。与…

力扣[面试题 01.02. 判定是否互为字符重排(哈希表,位图)

Problem: 面试题 01.02. 判定是否互为字符重排 文章目录 题目描述思路复杂度Code 题目描述 思路 思路1&#xff1a;哈希表 1.若两个字符串长度不相等&#xff0c;则一定不符合题意&#xff1b; 2.创建一个map集合&#xff0c;先将字符串s1中的每一个字符与其对应的数量存入集合…

计算机算术

计算机算术 数据是什么 数据是各种各样的信息&#xff0c;如数字、文本、计算机程序、音乐、图像、符号等等&#xff0c;实际上&#xff0c;信息可以是能够被计算机存储和处理的任何事物。 位与字节 计算机中存储和处理信息的最小单位是位&#xff08;Binary digit比特&#x…

CVE-2022-0760 漏洞复现

CVE-2022-0760 NSS [HNCTF 2022 WEEK2]ohmywordpress 【CVE-2022-0760】 题目描述&#xff1a;flag在数据库里面。 开题&#xff1a; 顺着按钮一直点下去会发现出现一个按钮叫安装WordPress 安装完之后的界面&#xff0c;有一个搜索框。 F12看看network。 又出现了这个Wor…

计算机二级C语言备考学习记录

一、C语言程序的结构 1.程序的构成&#xff0c;main函数和其他函数。 程序是由main函数和其他函数构成main作为主函数&#xff0c;一个C程序里只有一个main函数其他函数可以分为系统函数和用户函数&#xff0c;系统函数为编译系统提供&#xff0c;用户函数由用户自行编写 2.…

亚马逊认证考试系列 - 知识点 - LightSail介绍

一、引言 在当今云计算的时代&#xff0c;亚马逊网络服务&#xff08;AWS&#xff09;已成为业界领先的云服务提供商。其中&#xff0c;LightSail服务是AWS为简化云计算的入门和使用而推出的一项服务。它特别适合那些想要快速搭建网站、开发环境或小型应用的用户。通过LightSa…

提升MySQL访问性能

1. 读写分离 设置多个从数据库&#xff0c;从数据库可能在多个机器中。写操作在主数据库进行主数据库提供数据的主要依据 缓解了MySQL的读压力。 主从复制原理图如下 如果对于读操作有一致性要求&#xff0c;那么读操作去主数据库即可。 2. 连接池 因为一个请求必须要…

【数学建模】【2024年】【第40届】【MCM/ICM】【C题 网球运动中的“动量”】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 MCM Problem C: Momentum in Tennis In the 2023 Wimbledon Gentlemen’s final, 20-year-old Spanish rising star Carlos Alcaraz defeated 36-year-old Novak Djokovic. The loss was Djokovic’s first at Wimbledon…

qt-C++笔记之判断一个QLabel上有没有load图片

qt-C笔记之判断一个QLabel上有没有load图片 code review! 在Qt框架中&#xff0c;QLabel是用来显示文本或者图片的一个控件。如果你想判断一个QLabel控件上是否加载了图片&#xff0c;你可以检查它的pixmap属性。pixmap属性会返回一个QPixmap对象&#xff0c;如果没有图片被加…

2024.2.10 DMS(数据库管理系统)初体验

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件&#xff0c;用于建立、使用和维护数据库&#xff0c;简称DBMS。它对数据库进行统一的管理和控制&#xff0c;以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据&#xff0c;数据库管…

【笔记】Harmony学习:下载安装 DevEco Studio 开发工具IDE

IDE 安装 从官网下载DevEco Studio 安装包后进行安装&#xff0c; 安装完毕后&#xff0c;本地环境可能要配置相关工具&#xff0c;可以通过下面的诊断检测一下本地环境&#xff0c;通过蓝色“Set it up now” 可以快速安装。 1. Node.js (for ohpm) 2. ohpm 下载op的包管理&a…

【Chrono Engine学习总结】3-地型terrain

由于Chrono的官方教程在一些细节方面解释的并不清楚&#xff0c;自己做了一些尝试&#xff0c;做学习总结。 1、关于物体材质 在介绍地型之前&#xff0c;要初步了解chrono中关于材质的一些基本概念。 首先&#xff0c;最基本的材质类是ChMaterialSurface,其进一步包括&…

LeetCode---383周赛

题目列表 3028. 边界上的蚂蚁 3029. 将单词恢复初始状态所需的最短时间 I 3030. 找出网格的区域平均强度 3031. 将单词恢复初始状态所需的最短时间 II 一、边界上的蚂蚁 这题没什么好说的&#xff0c;模拟就行&#xff0c;本质就是看前缀和有几个为0。 代码如下 class S…

MySQL篇----第十八篇

系列文章目录 文章目录 系列文章目录前言一、SQL 语言包括哪几部分?每部分都有哪些操作关键二、完整性约束包括哪些?三、什么是锁?四、什么叫视图?游标是什么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…