前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你使用Python网络爬虫获取小说

手把手教你使用Python网络爬虫获取小说

作者头像
Python进阶者
发布2020-07-02 14:58:49
1.3K0
发布2020-07-02 14:58:49
举报

/1 前言/

随着网络的时代的发展,人们很少去安静的去看一本书。而是选择看网络小说,可是网络小说有些要钱才能看。

无限小说网

https://www.555x.org/

里边的内容是完全免费的,提供了各种种类的小说。满足用户的需要。可一页一页看小说太麻烦,直接下载多方便。

今天教大家爬取无限小说网,把小说的下载链接通过网络请求直接下载。

/2 项目目标/

获取对应小说的下载链接,点击下载链接网址,下载对应的txt文件。

/3 项目准备/

软件:PyCharm

需要的库:requestslxmlfake_useragent

网站如下:

https://www.555x.org/html/wuxiaxianxia/list_29_{}.html

点击下一页时,list_29_{}每增加一页自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。

/4 项目实现/

1、定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库和网址,代码如下所示。

代码语言:javascript
复制
import requests
from lxml import etree
from fake_useragent import UserAgent
import time

class  xiaoshuo(object):
    def __init__(self):
      self.url = "https://www.xiachufang.com/explore/?page={}"

    def main(self):
        pass

if __name__ == '__main__':
    imageSpider =  xiaoshuo()
    imageSpider.main()
2、随机产生UserAgent。
代码语言:javascript
复制
for i in range(1, 50):
    self.headers = {
        'User-Agent': ua.random,
    }
3、发送请求,获取响应, 页面回调,方便下次请求。
代码语言:javascript
复制
def get_page(self, url):
    res = requests.get(url=url, headers=self.headers)
    html = res.content.decode("utf-8")
    return html
4、xpath解析一级页面数据,获取页面信息。

1)f12运行浏览器,右键检查。找到对应二级页面的地址。

2)二级页面,右键检查。点击下载按钮,找到对应三级页面的地址。

5、三级页面,先找到对应的父节点,再for循环遍历进行爬取。
代码语言:javascript
复制
for rd in three:
    b = rd.xpath('..//div[@class="shutou"]//b/text()')[0].strip()
    tress = rd.xpath('..//div[@class="shuji"]//ul/li/a/@href')[0].strip()
    # print(tress)
6、定义read保存对应的小说名字,下载链接。
代码语言:javascript
复制
read = '''《%s》 下 载 链 接 : %s ''' % (b, tress)
print(read)
7、调用方法,实现功能。
代码语言:javascript
复制
html = self.get_page(url)
self.parse_page(html)

/5 效果展示/

1、点击绿色小三角运行输入起始页,终止页。

2、运行程序后,结果显示在控制台,如下图所示。

3、点击蓝色下载链接, 网络下载

4、双击小说文件,内容如下图所示。

/6 小结/

1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文基于Python网络爬虫,利用爬虫库,实现爬取小说下载链接,网络请求直接下载。
3、实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
4、希望通过这个项目,能够帮助一些上班族,在空闲时能够直接通过网络去获取自己想要的小说 。
5、懒人是科技进步的动力。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2、随机产生UserAgent。
  • 3、发送请求,获取响应, 页面回调,方便下次请求。
  • 4、xpath解析一级页面数据,获取页面信息。
  • 5、三级页面,先找到对应的父节点,再for循环遍历进行爬取。
  • 6、定义read保存对应的小说名字,下载链接。
  • 7、调用方法,实现功能。
    • 1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
      • 2、本文基于Python网络爬虫,利用爬虫库,实现爬取小说下载链接,网络请求直接下载。
        • 3、实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
          • 4、希望通过这个项目,能够帮助一些上班族,在空闲时能够直接通过网络去获取自己想要的小说 。
            • 5、懒人是科技进步的动力。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档