requests爬取小说
首先先选择一个小说网站,随便选择一章内容,url为http://www.biqukan.com/3_3039/1351331.html
点击鼠标右键,选择审查元素,查看网页结构
查看之后就可以用BeautifulSoup来提取网页中的内容了
import requests
from bs4 import BeautifulSoup
import re
headers = {'User-Agent':'Mozilla/4.0(compatible;MSIE 5.5;Windows NT)',}
url = 'http://www.biqukan.com/3_3039/1351331.html'
html = requests.get(url,headers=headers)
# 获取到网页的文本格式
html = html.text
soup = BeautifulSoup(html,'lxml')
# 选择器得到的是一个列表,只有一个元素,要选取第一个
zhangjie = soup.select('div.content h1')[0]
# 得到章节的文本内容
zhangjie = zhangjie.text
print(zhangjie)
# 查找属性是id为'content'且class为'showtxt'的标签
text = soup.find(id='content', class_='showtxt')
# 得到文本内容
text=text.text
# 将得到的文本存入文件中
with open('xiaoshuo.txt','w',encoding='utf-8') as f:f.write(zhangjie)f.write(text)
运行程序,得到一下结果
然后得到一个名为xiaoshuo.txt的文件,点开该文件就可看到内容,格式有点不美观,但能看就行,意思到了就可以了
这只是爬取了一章网页的内容,接下来我就要将本小说爬取下来了
url=http://www.biqukan.com/3_3039/
鼠标点击右键查看
我们只需爬取正文卷就好了,选取dd标签的时候如果使用find_all的话有点麻烦,本人又是个最不喜欢麻烦的人,直接简单粗暴就用下标截取,能达到目的就行了,虽然代码健壮性差,但能出结果就行。
import requests
from bs4 import BeautifulSoup# 解析url
def main(url):html = requests.get(url, headers=headers)html = html.textsoup = BeautifulSoup(html, 'lxml')# 得到神墓正文的dd标签,跳过最新章节nr = soup.select('div.listmain dd')[12:]# 分别读取其中的dd标签for i in nr:# 分别取出每个标签的内容和链接title = i.texturl = i.a.get('href')# 得到的url不完整,所以做进一步的拼接url = 'http://www.biqukan.com' + url# 调用解析网页内容的小说正文next_page(title,url)# 解析得到网页的正文
def next_page(title,url):txt = requests.get(url)html = txt.text# 进一步解析每一张url的网页内容soup = BeautifulSoup(html, 'lxml')# 查找属性是id为'content'且class为'showtxt'的标签text = soup.find(id='content', class_='showtxt')# 获取到小说正文text = text.text# 下载该章节小说downlode(title,text,url)# 下载小说
def downlode(title,text,url):with open('shengmu.txt', 'a+', encoding='utf-8') as f:f.write(title)f.write(text+'\n')print('{} 下载完成 链接地址为 {}'.format(title,url))if __name__ == '__main__':headers = {'User-Agent': 'Mozilla/4.0(compatible;MSIE 5.5;Windows NT)', }url = 'http://www.biqukan.com/3_3039/'main(url)
运行代码,就会看到逐步在下载小说了
然后看一下我们保存小说的文件
然后就看到我们的数据了,有兴趣的可以把格式装换下,这样看起来就美观多了
requests爬取小说相关推荐
- Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
前言 今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样 ...
- 爬取小说2--协程间通信Python
通过Python进行协程间通信,大大加速爬取效率. 前言 是这样的,在之前的爬虫版本中,我们通过并发技术(python协程只是并发).实现快速爬取小说的效果. 将速度提高为原来的几百倍了.但是却由于之 ...
- 多进程爬虫(爬取小说)Python实现
区别于之前用多协程写的爬虫版本 多协程爬取小说 这个版本,开销会比较大.效率上也不一定有之前的高 不过,总体上还是很不错的~ 问题分析 这个版本,还有之前的版本都一样,还存在问题,就是在下载好了文件之 ...
- python多线程爬虫数据顺序_多线程爬取小说时如何保证章节的顺序
前言 爬取小说时,以每一个章节为一个线程进行爬取,如果不加以控制的话,保存的时候各个章节之间的顺序会乱掉. 当然,这里说的是一本小说保存为单个txt文件,如果以每个章节为一个txt文件,自然不会存在这 ...
- 还不知道要看什么小说嘛?爬取小说网站前10页的小说数据分析一波
爬取小说数据 效果 网页分析 网页网址分析 书内容位置分析 不同书内容位置分析 将内容存到Excel 完整代码 效果 网页分析 网页网址分析 对比我们可以发现,不同的网页只有后边的数字不一样. 得到前 ...
- 看小说有广告?不可能的,分分钟教你爬取小说
爬取小说 效果 分析网页 正则表达式分析 请求头分析 完整代码 可能出现的错误 效果 分析网页 我们可以看到 小说的章节的标题与对应的链接是在<dd></dd>这个节点中的. ...
- python按章节分割txt_python爬虫,爬取小说
功能:爬取并下载小说中非vip部分的内容. 对于一个有八九年书龄的老书虫而言,遇到想看的小说,却没有找到下载的窗口,每次阅读都需要网上搜索,特别是网不好的地方,是十分不方便的.因此利用python写了 ...
- python 爬虫爬取小说信息
1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称.作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3.根据每个章节的地址信息下载 ...
- python 小说爬虫_Python实现的爬取小说爬虫功能示例
本文实例讲述了Python实现的爬取小说爬虫功能.分享给大家供大家参考,具体如下: 想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到txt文档中,支 ...
最新文章
- 查找手机型号云服务器,查找手机型号云服务器
- 华为将发布世界首款人工智能原生数据库
- 配置Eclipse支持java和xml文件的代码补全功能
- If语句:你们到底想把我放到哪儿?
- Python Type Hints 从入门到实践
- javaweb学习总结(三十九):数据库连接池
- SAP Spartacus travis ci-scripts 下面 e2e-cypress.sh 的实现分析
- jquery mysql实现加入购物车_jQuery实现加入购物车飞入动画效果
- python类定义变量_python类变量与__init__声明变量的区别
- PgAdmin3 LST v1.23.0.b (BigSQL) which support pg10.4
- 超详细SPSS主成分分析计算指标权重(二:权重计算及极差法标准化)
- oracle的dbv命令,Oracle的DBV命令行工具用法详解
- ubuntu版网易云音乐下载
- 关于网站中Logo部分的写法
- 软件工程的6个阶段以及成果精简版
- UGUI-- Canvas Scaler 分辨率自适应组件
- AndroidQ SystemUI之插件化机制Plugin
- R语言---Seewave包和tuneR在声音分析中的应用①关于声音及简单分析
- 用AI进行工业质检的方案详解!
- 8大蓝牙电路应用热门方案,快速简单实现近距离无线连接
热门文章
- kubernetes pod podsecurityPolicies(PSP)
- 【Nexus(docker)】login attempt to http://xxx/v2/ failed with status: 401 Unauthorized
- 用机器学习的方法鉴别红楼梦作者
- 微软极品工具箱-Sysinternals Suite
- 易语言零基础入门视频教程 易语言自学全套教程
- 上云挑战及Mybase设计理念和关键特性
- win10 家庭中文版没有Hyper-V选项
- 【数据结构(2)】1.2 数据结构的基本概念和术语
- 计算机毕业设计Java疫情状态下的图书馆座位预约系统(系统+源码+mysql数据库+Lw文档)
- 众贷网满月倒闭 网络金融监管再受质疑