专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
运维  ·  再见,CDN 巨头:Akamai 宣布 ... ·  2 天前  
51好读  ›  专栏  ›  马哥Linux运维

用Python爬下十几万本小说,再也不会闹书荒!

马哥Linux运维  · 公众号  · 运维  · 2019-01-13 22:00

正文

自从看了师傅爬了顶点全站之后,我也手痒痒的,也想爬一个比较牛逼的小说网看看,于是选了宜搜这个网站,好了,马上开干,这次用的是mogodb数据库,感觉mysql太麻烦了下图是我选择宜搜里面遍历的网站


先看代码框架图


第一个,肯定先提取排行榜里面每个类别的链接啊,然后进入链接进行爬取,先看all_theme文件

看看运行结果,这是书籍类目的


这是构造出的每一个类目里面所有的页数链接,也是我们爬虫的入口,一共5000多页


接下来是封装的数据库操作,因为用到了多进程以及多线程每个进程,他们需要知道那些URL爬取过了、哪些URL需要爬取!我们来给每个URL设置两种状态:

  • outstanding:等待爬取的URL

  • complete:爬取完成的URL

  • processing:正在进行的URL。

嗯!当一个所有初始的URL状态都为outstanding;当开始爬取的时候状态改为:processing;爬取完成状态改为:complete;失败的URL重置状态为:outstanding。

为了能够处理URL进程被终止的情况、我们设置一个计时参数,当超过这个值时;我们则将状态重置为outstanding。

接下来是爬虫主程序

让我们来看看结果吧


里面因为很多都是重复的,所有去重之后只有十几万本,好失望......

作者:蜗牛仔
來源 :http://www.jianshu.com/p/a1c5183f3f4d

Linux云计算及运维架构师高薪实战班“2018年12月10日即将开课中, 120天冲击Linux运维年薪30万







请到「今天看啥」查看全文