欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 零基础学习python爬虫与小说爬取

零基础学习python爬虫与小说爬取

2025/7/26 7:41:19 来源:https://blog.csdn.net/2301_80148821/article/details/143239044  浏览:    关键词:零基础学习python爬虫与小说爬取

爬虫基础

环境配置

  1. python环境以及编译器
  2. requests库
  3. re,xpath等库的使用,这里我主要使用xpath库进行匹配

python环境配置

这里我使用的是python3.11。其他版本也可以的。

可以参考这篇文章进行配置环镜
https://bbs.huaweicloud.com/blogs/350852

然后就是python的编译器破解,这里我使用的是Pycham的专业版,社区版也可以。

破解方式:

先去官网下载2024.1x以及之前版本的专业版Pycham

然后进入https://3.jetbra.in/这个网站中
在这里插入图片描述扫描后点击蓝色网站进行跳转

在这里插入图片描述点击jetbra.zip进行下载,并解压。

在这里插入图片描述
进入如下目录,点击运行install-current-user

在这里插入图片描述
按照提示来就行。

在这里插入图片描述
然后打开pycham,用注册码进行登录即可

库的安装

在终端运行以下命令即可

 pip install requestspip install lxml

零基础学习爬取小说

首先,我们先导入我们配置好的库,并找一个小说网站

import requests
from lxml import etreeurl='https://m.ydxrf.com/'

然后我们可以使用requests库查看网站的html内容

import requests
from lxml import etreeurl='https://m.ydxrf.com/'respons=requests.get(url=url)print(respons.text)

在这里插入图片描述可以看到这个就是我们查看的网站的html内容

找到自己喜欢的一本小说,进入第一章内容,右键点击源码查看器观察html内容。

可以找到我们想下载下来的小说部分的内容

在这里插入图片描述并将url换成小说第一章的url

import requests
from lxml import etreeurl='https://m.ydxrf.com/wap_html/51036/26213925.html'respons=requests.get(url=url)print(respons.text)

再运行一次确保我们可以访问到网页

在这里插入图片描述然后使用xpath进行读取我们想要的内容

import requests
from lxml import etreeurl='https://m.ydxrf.com/wap_html/51036/26213925.html'respons=requests.get(url=url).contenttree = etree.HTML(respons)ree=tree.xpath("//div[@id='text']/p/text()")print(ree)

在这里插入图片描述
用join从ree中提取出我们想要的文字

import requests
from lxml import etreeurl='https://m.ydxrf.com/wap_html/51036/26213925.html'respons=requests.get(url=url).contenttree = etree.HTML(respons)ree=tree.xpath("//div[@id='text']/p/text()")text = "".join(ree)print(text)

在这里插入图片描述然后,我们回到网页,点击下一章,观察url有什么不同

在这里插入图片描述

可以看到最后一个数字变成了6。

所以我们可以使用for循环来遍历小说内容

import requests
from lxml import etreefor i in range(26213925,26213930):url = f'https://m.ydxrf.com/wap_html/51036/{i}.html'respons = requests.get(url=url).contenttree = etree.HTML(respons)ree = tree.xpath("//div[@id='text']/p/text()")text = "".join(ree)print(text)

在这里插入图片描述可以看到每一章内容

我们使用同样方法来输出每一章标题

import requests
from lxml import etreefor i in range(26213925,26213930):url = f'https://m.ydxrf.com/wap_html/51036/{i}.html'respons = requests.get(url=url).contenttree = etree.HTML(respons)ree = tree.xpath("//div[@id='text']/p/text()")reee=tree.xpath("//h1/text()")text = "".join(ree)header = "".join(reee)print(header)print(text)

在这里插入图片描述
然后将其写入文件即可

import requests
from lxml import etreefor i in range(26213925,26834535):url = f'https://m.ydxrf.com/wap_html/51036/{i}.html'respons = requests.get(url=url).contenttree = etree.HTML(respons)ree = tree.xpath("//div[@id='text']/p/text()")reee=tree.xpath("//h1/text()")text = "".join(ree)+'\n\n\n'header = "".join(reee)+'\n\n'with open("文件路径", 'a') as file:file.write(header)file.write(text)print("文本已追加到文件。")print("over")

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词