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

 

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

 

用Python爬下十几万本小说,再也不会闹书荒!_第1张图片


先看代码框架图

更多Python视频、源码、资料加群984632579免费获取

用Python爬下十几万本小说,再也不会闹书荒!_第2张图片

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

 

用Python爬下十几万本小说,再也不会闹书荒!_第3张图片

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

 

用Python爬下十几万本小说,再也不会闹书荒!_第4张图片

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

 

用Python爬下十几万本小说,再也不会闹书荒!_第5张图片

 

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

 outstanding:等待爬取的URL

 complete:爬取完成的URL

processing:正在进行的URL。

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

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

 

用Python爬下十几万本小说,再也不会闹书荒!_第6张图片

 

接下来是爬虫主程序

 

用Python爬下十几万本小说,再也不会闹书荒!_第7张图片


让我们来看看结果吧

 

用Python爬下十几万本小说,再也不会闹书荒!_第8张图片

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

你可能感兴趣的:(python)