python爬取书包网文章总结

今天闲来无事去看小说,但是发现没办法直接下载,所以呢就用python爬虫来下载一波了,哈哈…

爬取的是这篇小说:剑破九天(是不是很霸气,话不多说,开始…)

总体思路步骤分为以下三步:
1.获得文章的每个章节链接地址
2.获得章节内容
3.保存到指定位置

首先,进入到自己想要下载小说的网址,按F12进入开发者工具,然后单击这个然后在原网页点击章节列表即可发现以下数据:

接下来就是提取这个章节的url了,我是用的xpath,当然也可以用正则和bs4,如下代码
book_list = res.xpath('//div[@class="wp b2 info_chapterlist"]/ul/li')
此时book_list中就可以得到所有章节的url了(第一步完)

第二步就是获得章节具体内容了:
和第一步相似,用xpath即得到章节名和其中一章节内容
章节名称:name = res.xpath('//h1/text()')
章节内容:message_list = res.xpath('//dd[@id="contents"]/text()')

获得了自己需要的章节内容后就要进入第三步的保存了,不过在一开始保存时在100章左右时用以下代码出现了UnicodeEncodeError这个问题

    for m in message:with open("D:\英雄时刻\{name}.txt".format(name="剑破九天"),"a") as f:f.write(m)

然后发现是默认编码方式问题,其默认为gbk,所以需要改成“utf-8”的格式,代码如下:

    for m in message:with open("D:\英雄时刻\{name}.txt".format(name="剑破九天"),"a",encoding="utf-8") as f:f.write(m)

然后就可以喝一杯茶慢慢等爬取完成了,哈哈,以下为代码:


#剑破九天.textimport requests
import json
from lxml import htmldef get_booklist(n):#获得章节地址url = "https://www.bookbao99.net/book/201706/05/id_XNTc5MDg2.html"header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}response = requests.get(url,headers = header)response.encoding = "utf-8"res = html.fromstring(response.text)book_list = res.xpath('//div[@class="wp b2 info_chapterlist"]/ul/li')print(len(book_list))#章节个数for book in book_list:#遍历所有章节try:t = book.xpath('a/@href')book_url = "https://www.bookbao99.net" + t[0]get_message(book_url)print("第{n}章爬取完毕".format(n=n))n += 1except UnicodeEncodeError:print("出现一个错误")continuedef get_message(url):#提取每个章节内容header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}response = requests.get(url,headers = header)response.encoding = "utf-8"res = html.fromstring(response.text)name = res.xpath('//h1/text()')n = '\n'+name[0]+'\n\n'#print(name[0])message_list = res.xpath('//dd[@id="contents"]/text()')message_list.insert(0,n)#print(message_list)save_book(message_list)def save_book(message):#保存for m in message:with open("D:\英雄时刻\{name}.txt".format(name="剑破九天"),"a",encoding="utf-8") as f:f.write(m)if __name__ == "__main__":n = 1get_booklist(n)

是不是美滋滋。
最后呢,欢迎一起讨论爬虫哟~~~

Python爬取书包网文章实战总结相关推荐

  1. 利用Python爬取散文网的文章实例

    这篇文章主要跟大家介绍了利用python爬取散文网文章的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 本文主要给大家介绍的是关于python爬取散文网文章 ...

  2. Scrapy框架+Gerapy分布式爬取海外网文章

    Scrapy框架+Gerapy分布式爬取海外网文章 前言 一.Scrapy和Gerapy是什么? 1.Scrapy概述 2.Scrapy五大基本构成: 3.建立爬虫项目整体架构图 4.Gerapy概述 ...

  3. 在当当买了python怎么下载源代码-Python爬取当当网最受欢迎的 500 本书

    想看好书?想知道哪些书比较多人推荐,最好的方式就是看数据,接下来用 Python 爬取当当网五星图书榜 TOP500 的书籍,或许能给我们参考参考! Python爬取目标 爬取当当网前500本受欢迎的 ...

  4. python爬取公众号文章如何获取发布时间

    python爬取公众号文章如何获取发布时间 在上一篇爬取公众号的文章中爬虫如何爬取微信公众号文章介绍了如何获取公众号的所有历史文章链接,但当我根据链接去爬取文章的时候,却遇到了一个小问题,就是文章的发 ...

  5. python爬取东方财富网资金流向数据(在本地生成csv文件)

    今天我们来试着用python爬取东方财富网资金流向的表格数据. 第一步:程序及应用的准备 首先我们需要安装selenium库,使用命令pip install selenium;然后我们需要下载对应的c ...

  6. 利用python爬取东方财富网股吧评论并进行情感分析(一)

    利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论.涉及内容在前人的研究基础之 ...

  7. python爬取当当网商品评论

    python爬取当当网商品评论 本案例获取某鞋评论作为例 案例目的: 通过爬取当当网商品评价,介绍通过结合jsonpath和正则表达式获取目标数据的方法. 代码功能: 输入爬取的页数,自动下载保存每页 ...

  8. Python爬取豆瓣网影评展示

    Python爬取豆瓣网影评展示 需要的库文件 requests beautifulsoup wordcloud jieba matplotlib 本文思想 1.访问指定的网页 #获取指定url的内容 ...

  9. 用python爬取高考网历年高考分数线将数据放入MySQL并绘制图表

    用python爬取高考网历年高考分数线 # 导入爬虫的库 import requests from lxml import etree # 导入画图库 from pyecharts.charts im ...

最新文章

  1. Failed to initialize NSS library
  2. UVA - 101:The Blocks Problem
  3. 谷歌插件开发ajax请求,chrome插件 注入js以及发送ajax(message/request)
  4. 基于机器学习和TFIDF的情感分类算法,详解自然语言处理
  5. Class中Query Filter
  6. 1 数列分块入门_LOJ#6277.数列分块入门1
  7. QQ亿级日活跃业务后台核心技术架构揭秘
  8. 【CF870F】Paths 分类讨论+数学
  9. U校园大学生必备答案
  10. 现金流量表的编制 (by shany shang)
  11. A股全市场股票历史行情Level2快照高频数据
  12. JS高级程序设计精简版(第五章:引用类型)附思维导图
  13. 支付宝SDK集成服务端(java)
  14. BIM模型+实景模型融合应用
  15. 直播、点播系统开发项目总结(本地视频、抓包视频、直播推流、网络直播、平台搭建等相关问题点记录)
  16. 无题(2011.10.26)
  17. 鸡肋功能2————将汉字转化为拼音(带声调)
  18. 虎宝宝起名、虎年取名禁忌
  19. 36页银行业务工作总结PPT模板
  20. CVPR 2018 | 鸡尾酒网络DCTN:源分布结合律引导的迁移学习框架

热门文章

  1. JavaScript 模拟淘宝商城购物车
  2. 明辰智航云安交易分析--DNS
  3. linux重置网络的命令,Linux常用网络命令和关机重启命令
  4. 图片加水印怎么弄?小白都会的加水印方法
  5. riscv运行linux,首款基于RISC-V,支持Linux的PC——HiFive Unleashed已诞生!
  6. Android Studio App开发入门之在活动之间传递消息(附源码 超详细必看)(包括显示和隐式Intent,向上一个和下一个Activity发送数据)
  7. 美国计算机博士资格考试难吗,美国计算机博士院校申请的难度在哪里
  8. 笔记本win10引用账户当前已锁定,且可能无法登录(已解决)
  9. 视频会议看不到别人的视频图像怎么办
  10. 朋友圈转发截图生成工具HTML源码