Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

先看代码框架图

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

  • outstanding:等待爬取的URL

  • complete:爬取完成的URL

  • processing:正在进行的URL。

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

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

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

接下来是爬虫主程序

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

让我们来看看结果吧

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

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

作者:蜗牛仔

來源:http://www.jianshu.com/p/a1c5183f3f4d

 


 

————广告时间————

马哥教育2017年Python自动化运维开发实战班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!课程咨询请长按即可咨询Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

Python学习教程 | 用Python爬下十几万本小说,再也不会闹书荒!

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!