首先先选择一个小说网站,随便选择一章内容,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爬取小说相关推荐

  1. Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)

    前言 今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样 ...

  2. 爬取小说2--协程间通信Python

    通过Python进行协程间通信,大大加速爬取效率. 前言 是这样的,在之前的爬虫版本中,我们通过并发技术(python协程只是并发).实现快速爬取小说的效果. 将速度提高为原来的几百倍了.但是却由于之 ...

  3. 多进程爬虫(爬取小说)Python实现

    区别于之前用多协程写的爬虫版本 多协程爬取小说 这个版本,开销会比较大.效率上也不一定有之前的高 不过,总体上还是很不错的~ 问题分析 这个版本,还有之前的版本都一样,还存在问题,就是在下载好了文件之 ...

  4. python多线程爬虫数据顺序_多线程爬取小说时如何保证章节的顺序

    前言 爬取小说时,以每一个章节为一个线程进行爬取,如果不加以控制的话,保存的时候各个章节之间的顺序会乱掉. 当然,这里说的是一本小说保存为单个txt文件,如果以每个章节为一个txt文件,自然不会存在这 ...

  5. 还不知道要看什么小说嘛?爬取小说网站前10页的小说数据分析一波

    爬取小说数据 效果 网页分析 网页网址分析 书内容位置分析 不同书内容位置分析 将内容存到Excel 完整代码 效果 网页分析 网页网址分析 对比我们可以发现,不同的网页只有后边的数字不一样. 得到前 ...

  6. 看小说有广告?不可能的,分分钟教你爬取小说

    爬取小说 效果 分析网页 正则表达式分析 请求头分析 完整代码 可能出现的错误 效果 分析网页 我们可以看到 小说的章节的标题与对应的链接是在<dd></dd>这个节点中的. ...

  7. python按章节分割txt_python爬虫,爬取小说

    功能:爬取并下载小说中非vip部分的内容. 对于一个有八九年书龄的老书虫而言,遇到想看的小说,却没有找到下载的窗口,每次阅读都需要网上搜索,特别是网不好的地方,是十分不方便的.因此利用python写了 ...

  8. python 爬虫爬取小说信息

    1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称.作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3.根据每个章节的地址信息下载 ...

  9. python 小说爬虫_Python实现的爬取小说爬虫功能示例

    本文实例讲述了Python实现的爬取小说爬虫功能.分享给大家供大家参考,具体如下: 想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到txt文档中,支 ...

最新文章

  1. 查找手机型号云服务器,查找手机型号云服务器
  2. 华为将发布世界首款人工智能原生数据库
  3. 配置Eclipse支持java和xml文件的代码补全功能
  4. If语句:你们到底想把我放到哪儿?
  5. Python Type Hints 从入门到实践
  6. javaweb学习总结(三十九):数据库连接池
  7. SAP Spartacus travis ci-scripts 下面 e2e-cypress.sh 的实现分析
  8. jquery mysql实现加入购物车_jQuery实现加入购物车飞入动画效果
  9. python类定义变量_python类变量与__init__声明变量的区别
  10. PgAdmin3 LST v1.23.0.b (BigSQL) which support pg10.4
  11. 超详细SPSS主成分分析计算指标权重(二:权重计算及极差法标准化)
  12. oracle的dbv命令,Oracle的DBV命令行工具用法详解
  13. ubuntu版网易云音乐下载
  14. 关于网站中Logo部分的写法
  15. 软件工程的6个阶段以及成果精简版
  16. UGUI-- Canvas Scaler 分辨率自适应组件
  17. AndroidQ SystemUI之插件化机制Plugin
  18. R语言---Seewave包和tuneR在声音分析中的应用①关于声音及简单分析
  19. 用AI进行工业质检的方案详解!
  20. 8大蓝牙电路应用热门方案,快速简单实现近距离无线连接

热门文章

  1. kubernetes pod podsecurityPolicies(PSP)
  2. 【Nexus(docker)】login attempt to http://xxx/v2/ failed with status: 401 Unauthorized
  3. 用机器学习的方法鉴别红楼梦作者
  4. 微软极品工具箱-Sysinternals Suite
  5. 易语言零基础入门视频教程 易语言自学全套教程
  6. 上云挑战及Mybase设计理念和关键特性
  7. win10 家庭中文版没有Hyper-V选项
  8. 【数据结构(2)】1.2 数据结构的基本概念和术语
  9. 计算机毕业设计Java疫情状态下的图书馆座位预约系统(系统+源码+mysql数据库+Lw文档)
  10. 众贷网满月倒闭 网络金融监管再受质疑