python爬取小说功能实现_python爬取小说的万能代码

python老师让我们去爬去小说

在网上找了很久的代码

然而并没有什么卵用

因为太多而且不适合每个网站

还用到了正则表达式

对于这样不通用的代码是不能接受的

代码实现的适用条件

要求小说的章节url后面的数字是连续的

或者是有一定规律的

第一章url

image

第二章url

image

像这样有规律的

使用此代码

当然有的网站是毫无规律的

这时可以去多尝试几个网站

只要能找到规律了

就可以了

image

代码实现的步骤

修改四个地方即可

在此之前也请将需要的库下载

import requests

from lxml import etree

下载库

pip install requests

pip install lxml

image

步骤一:修改url

可以看到这个代码实现的功能就是用一个循环去遍历各个章节的url

image

image

前一大半部分的url都是一样的

只是在****.html是不一样的

所以用一个{}代替

而这个的值用format(i) in range(xxx,xxx)去循环遍历

注意:如果后缀是htm,是要将这个html改为htm的

range中的第一个参数就是第一章的那个数字

如果你想下载10章,那么在这个基础上+10

(前提是这个是连续的,如果是每+5是下一个章节,那么这里也是要变化的)

步骤2

下载将文件保存在那个位置

这个自行处理就好

由于我用的是linux

所有设置路径的方式可能不太一样

步骤3

添加标题的xpath

我们来到这个小说的第一个章节

image

以google浏览器为例子

反键点击检查

再点击如图左上角的那个箭头

image

再去定位标题

选中后 如图所示

再反键定位好位置后

在右边的代码中可以看到阴影的部分

反键copy,选中xpath

粘贴到步骤3那里

title = selector.xpath('*****/text()')

将xpath的内容给*****即可

image

然后就是主要内容了

同样的步骤

先点击左上角的箭头

再去定位内容后

反键找到对应的代码

再反键copy xpath

text = selector.xpath('*****/text()')

#将xpath的内容给*****即可

然后就可以静静的等待整部小说下载好咯

可能会有点慢

建议每100章下载一次

也许中间会出现问题

因为无法确定他在哪一章会出现不是连续的情况

所以要灵活的使用该代码

再去修改相应range中的内容即可

image

我的微信公众号:跨时代的jay

关注我哦,定时推送知识

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值