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

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

先看代码框架图

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

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

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

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

  • outstanding:等待爬取的URL
  • complete:爬取完成的URL
  • processing:正在进行的URL。

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

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

接下来是爬虫主程序

让我们来看看结果吧

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

作者:蜗牛仔

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2018-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

Fetch开发指南

在 Web 应用中,JavaScript 通过 XMLHttpRequest (XHR)来执行异步请求,这是一种有效改进页面通信的技术,当我们谈及Ajax技术的...

21410
来自专栏机器学习算法与Python学习

Python之运行实现原理

来源:@mozillazg 链接:https://mozillazg.com/2016/04/apm-python-agent-principle.html 本...

36214
来自专栏酷玩时刻

前端后台以及游戏中使用google-protobuf详解

protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,protoBuf更小更快更简单。你可以用定义自己protoBuf的数据结构,用...

2502
来自专栏企鹅号快讯

Python3爬取1024图片

分析 列表页面 首先进入1024的导航网站,随便点击一个地址进入选择图片区或者在网站地址后面添加,这就是1024网站的图片区,这个爬虫就是主要抓取这个区域的所有...

8079
来自专栏信安之路

XPath注入:攻击与防御技术

相信大家都非常熟悉 “注入” 这种攻击方式。 “注入” 这种攻击方式被列为了 OWASP 十大攻击的榜首。然而,本文所要讲述的不是被人熟知的SQL 注入攻击。而...

1560
来自专栏about云

扩展Yarn资源模型详解1

问题导读 1.countable资源是指哪些? 2.noncountable资源,本文列举了什么资源? 3.标签是否为资源? 4.如何实现扩展YARN资源模型...

3144
来自专栏python学习指南

Python爬虫(十三)_案例:使用XPath的爬虫

本篇是使用XPath的案例,更多内容请参考:Python学习指南 案例:使用XPath的爬虫 现在我们用XPath来做一个简单的爬虫,我们尝试爬取某个贴吧...

2308
来自专栏weixuqin 的专栏

使用代理爬取微信文章

3837
来自专栏北京马哥教育

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

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

3575
来自专栏python学习指南

Python爬虫Scrapy(二)_入门案例

本章将从案例开始介绍python scrapy框架,更多内容请参考:python学习指南 入门案例 学习目标 创建一个Scrapy项目 定义提取的结构...

2036

扫码关注云+社区

领取腾讯云代金券