爬虫实战——爬取小说《从你的全世界路过》
前言
最近在看一本讲爬虫的书,这里尝试着做一个实战。现在的境界相当于,是已经迈过门槛,走到门口,学会了小手枪的使用,愉悦,并且到处瞄准尝试,三天一线。以后的路可能就是从广度和深度来扩展了吧。除了这种射击模式,还有其他的射击模式需要学习,不止手中的这把枪,还有其他枪需要了解和使用。
思路
先抓大,再抓小。然后正则过滤,多线程爬取。
采用广度搜索的方法爬取。
嵌套
练习
目标url:https://www.kanunu8.com/book2/10748/index.html
1. 抓取文章链接
首先要做的就是判断我们抓取的部分是那些。这里可以看到其中所有的章节都是被tbody这个标签来包裹的,那么我们就先把这一部分弄出来。
1.1 抓大的部分
导入我们需要的包
import re
import requests
import os
from multiprocessing.dummy import Pool
然后抓取
import requests
import os
from multiprocessing.dummy import Poolhtml=requests.get("https://www.kanunu8.com/book2/10748/index.html").content.decode('gb2312')
html_ser=re.findall("tbody>(.*?)</tbody",html,re.S).group(1)
这里有一个为什么要使用gb2312这个编码格式。
因为他网站charset用了这个,so。
由于这里没有找到一个合适的唯一截取点,所以使用findall的方式来找
import re
import requests
import os
from multiprocessing.dummy import Pool
import timehtml=requests.get("https://www.kanunu8.com/book2/10748/index.html").content.decode('gb2312')
html_ser=re.findall("tbody>(.*?)</tbody",html,re.S)
for i in html_ser:if re.search("第一夜",i,re.S)!=None:html_sers=i
1.2 筛选出小的部分
使用findall()来获取所有的href链接。
然后将其写成函数
def get_href():html=requests.get("https://www.kanunu8.com/book2/10748/index.html").content.decode('gb2312')html_ser=re.findall("tbody>(.*?)</tbody",html,re.S)for i in html_ser:if re.search("第一夜",i,re.S)!=None:html_sers=is=re.findall('href="(.*?)"',html_sers,re.S)lst=[]for i in s:lst.append("https://www.kanunu8.com/book2/10748/"+i)return lst
2.文章爬取
找到了href之后,那么我们就可以写我们的单个文章的爬取了。
def ends(href):html=requests.get(href).content.decode('gbk')title=re.search('<font color="#dc143c">(.*?)</font',html,re.S).group(1)text_block=re.search('<p>(.*?)</p>',html,re.S).group(1)text_block=text_block.replace('<br>',"")save(title,text_block)
将我们爬好的数据写入txt
def save(title,text):with open(os.path.join('从你的全世界路过',title+'.txt'),'w',encoding="utf-8") as f:f.write(text)
3. 开启多线程
href=get_href()
print (href)
pool=Pool(5)
pool.map(ends,href)
4. 最终效果
爬虫实战——爬取小说《从你的全世界路过》相关推荐
- python爬虫实战-爬取小说
今天做一个爬虫练手的小实战:爬取顶点小说网的小说,实现下载到本地(虽然网站上本来就可以下载,不过还是自己写代码来有成就感嘛!) 爬取网站 进入官网后,点击元尊,就爬取这本书了. 我们先把整个网页爬下来 ...
- node 爬虫 实战 - 爬取拉勾网职位数据
node 爬虫 实战 - 爬取拉勾网职位数据,主要想把数据用于大数据学习,到时候大数据分析可以自己分析一下职位的情况,和比较一些我现在的职位在深圳乃至全国的开发人员水平. 涉及到的技术栈:node.j ...
- Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)
Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...
- python爬虫实战---爬取大众点评评论
python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...
- python爬虫实战-爬取视频网站下载视频至本地(selenium)
#python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...
- python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述
http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...
- Scrapy 爬虫实战-爬取字幕库
Scrapy 爬虫实战-爬取字幕库 1.首先,创建Scrapy框架 创建工程 scrapy startproject zimuku创建爬虫程序 cd zimuku scrapy genspider z ...
- python爬取小说项目概述_Python实战项目网络爬虫 之 爬取小说吧小说正文
本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...
- python爬虫爬取歌曲_python爬虫实战:爬取全站小说排行榜
喜欢看小说的骚年们都知道,总是有一些小说让人耳目一新,不管是仙侠还是玄幻,前面更了几十章就成功圈了一大波粉丝,成功攀上飙升榜,热门榜等各种榜,扔几个栗子出来: 新笔趣阁是广大书友最值得收藏的网络小说阅 ...
最新文章
- Velocity判断空的方法
- 统治世界的十大排序算法!
- java遍历两个日期_java 已知两个日期,遍历出两个日期之间所有的日期,重点是::包括第一个日期!!...
- 在虚拟机中温习DOS
- [scala-spark]3. 变量 数据类型 分支与循环
- node sqlite 插入数据_使用 Sequelize 操作 Sqlite3 数据库
- linux mysql timestamp_MYSQL中TIMESTAMP类型的使用
- 怎么下载完整的python_怎么下载python并安装
- Mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围
- Android笔记 隐式意图vs显示意图+隐式意图打开短信应用demo
- flask-mail异步发送邮件_Python爬虫系列:用邮件来通知爬虫异常状况
- onenote快捷键_onenote链接系列:链接笔记如何产生?与插入链接的区别
- atitit.md5算法的原理 与 总结
- Document Star证件照大师升级版 for Mac(支持ps2021)
- c语言整人小程序格式,【C语言】整人小程序
- php注册登录描述,基于PHP实现用户登录注册功能的详细教程
- python实现npy格式文件转换为txt文件
- B站弹幕姬,弹幕礼物感谢,关注感谢,自动回复,房管工具,房管助手,基于java
- SwfObjects在页面中嵌入flash(SWF)
- 【Linux】调节屏幕亮度