最近闲着无聊开始翻看之前看了一半的小说《明朝那些事儿》,天天用网络看好麻烦就写了个爬虫下载下来放到手机上看,下面把写爬虫的过程遇到的问题记录一下,方便以后再来找,写这个爬虫碰到的问题总共就3个,第一个是爬取到的文字是乱码怎么办;第二是xpath语法,在谷歌浏览器的插件中能找到自己需要的信息,放到爬虫中运行就什么也获取不到;第三是去掉爬到的文字中多余的部分。下面开始正文

首先还是上目标网址,经过百度发现下面网站有我需要的全文明朝那些事儿-明朝那些事儿全集在线阅读​www.mingchaonaxieshier.com

然后分析网站,思路很简单,在首页获取所有章节的url然后在到对应章节中获取自己需要的文本信息,最后保存就大功告成,按照这个思路,我们先定义三个方法

然后再来完善方法中的详细内容,第一步获取url

爬虫第一部导库就不多说了,我们用requests库来访问这个网站发现没有任何反扒措施,开开心心就拿到了所需要的网页信息,不过问题是文字部分都是乱码

这个问题好解决,只要按照网页头部信息给的编码来重新编码就可以了,所以我们的代码是下面这样

resp = requests.get(url)

resp.encoding = 'utf-8'

print(resp.text)

下面就能正常显示文字了

然后就是通过xpath来获取我们需要的url并放到一个列表里,后面遍历获取文本信息,打开开发者工具查看

所有的url信息都是在这个标签的href属性里面,然后我们的xpath语法就是这样//tbody/tr/td/a/@href

在我们的插件里面也能正确获取到信息,然后我们到程序里面试一下就懵逼了,因为获取的信息是空的

抓耳挠腮的我机智的打开了网页源代码看了起来,发现了问题所在,在网页源代码中是没有tbody这个标签的

这个标签应该是浏览器自己加上的,而源码中并没有,所以我们获取是获取不到的,这里提供给我们一个解决xpath语法无法获取信息的思路—多看看网页源码

经过一番调整获取url的函数我们最终搞定了是这样

def get_url(url):

url_list = []

resp = requests.get(url)

resp.encoding = 'utf-8'

e = etree.HTML(resp.text)

data_list = e.xpath('//table')

for data in data_list:

# print(data)

url = data.xpath('./tr/td//a/@href')[1:]

url_list.extend(url)

return url_list

如此我们就获取了所有的URL,然后就是到分章节里获取文本信息了,这个相对容易就不拿出来单写了,只说碰到的问题:在文本信息前面有个\u3000的字符是我们不要的,直接用正则替换掉,完整代码截图奉上

有问题的可以私信问我,如果需要源码也可以找我要,如果你也是小白正在学习咱们一起交流呀

python爬取小说写入txt_python爬虫自学之路:爬取小说并保存成TXT文件相关推荐

  1. python爬取小说写入txt_Python爬虫练习 爬取网络小说保存到txt

    利用python爬虫爬取网络小说保存到txt,熟悉利用python抓取文本数据的方法. 选取其中某一章,检查网页,可以找到这本小说所有章节的链接和名称. 写出xpath表达式提取出href里的内容:/ ...

  2. python爬取小说写入txt_Python爬虫爬取小说,并保存至本地文本文件中

    运行环境:Python3.6.Pycharm2017.3.Windows10 RS3.requests2.18.4.BeautifulSoup4.6.0 简介 运行效果展示 ① book136_sin ...

  3. Python爬虫之爬取网络小说并在本地保存为txt文件

    Python爬虫之爬取网络小说并在本地保存为txt文件 注:本文使用软件为Sublime Text,浏览器为谷歌浏览器 (新手小白第一次写,写得不好请见谅) **1.**首先找到想要爬取的小说章节目录 ...

  4. 【期末课设】python爬虫基础与可视化,使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载。

    1.大作业的内容 本要求使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载. 2.案例需求 要求采用虚拟浏览器等动态爬虫技术,完 ...

  5. 基于Python实现的网络爬虫项目——多线程下载小说并保存为txt文件(包含完整代码及注释)

    基于Python实现的网络爬虫项目--多线程下载小说并保存为txt文件(包含完整代码及注释) 一.确立预期目标 二.完成项目所需工具 三.项目需要解决的问题 问题一 问题二 问题三 问题四 问题五 问 ...

  6. 和讯网债券数据Python爬取保存成CSV文件之一

    本文讲述国债数据使用python爬取的方式,并将得到的数据保存成CSV文件以日期命名,方便后期处理. 具体代码如下所示: import requests from bs4 import Beautif ...

  7. android 数据存储怎么保存图片_文章要保存为TXT文件,其中的图片要怎么办?Python帮你解决...

    前言 用 python 爬取你喜欢的 CSDN 的原创文章,保存为TXT文件,不仅查看不方便,而且还无法保存文章中的代码和图片. 今天教你制作成 PDF 慢慢看.万一作者的突然把号给删了,也会保存备份 ...

  8. python 运行结果保存_『如何将python运行结果保存成txt,万分感谢呐』python txt教程...

    如何将python运行结果保存成txt,万分感谢呐 把赋值量 content f = open("text.txt",'wb') f.write(content) f.close( ...

  9. python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据

    文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...

最新文章

  1. 干货 | 十年经验PM手机里都装了哪些app?
  2. 索尼a5100_【大象原创】索尼微单最全功能就在这里啦
  3. MySQL + MyBatis 批量插入时存在则忽略或更新记录
  4. cmd oracle sys登录_Oracle 数据库、表、方案的逻辑备份与恢复
  5. leetcode刷题:相交链表
  6. mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
  7. 根据列值删除Pandas中的DataFrame行
  8. 植被指数-RVI、NDVI、DVIEVI、GVI、PVI、EVI
  9. 删除或复制文件提示:文件名无效或太长/目标路径太长/找不到该项目
  10. php将多张图片合并成pdf,如何简单有效的将多张图片合并成一个PDF文件
  11. 思科单臂路由最详细教程
  12. 锁相环(PLL)专题一:鉴相器PD
  13. 【UVM基础】3、核心基类和机制
  14. 波士顿科学完成从霸菱亚洲收购科医人外科业务;刘孟元博士加盟克睿基因 | 医药健闻...
  15. Linux快捷键大全
  16. python简单代码画皮卡丘-利用Python绘制萌萌哒的皮卡丘
  17. PTA 练习实验6 十道练习题
  18. Button控件的使用方法
  19. 全国计算机等级报名登记表,全国计算机等级考试报名报名流程
  20. 微信小程序讲解ppt(内附ppt资源及网易云api案例)

热门文章

  1. 值得关注的13个技术类微信公众号
  2. 修改统计服务器ip到域名,国内、国际域名DNS解析设置详解
  3. 【LeetCode】538. Convert BST to Greater Tree 解题报告(Python)
  4. 爬虫Spider 08 - chromedriver设置无界面模式 | selenium - 键盘操作 | 鼠标操作 | 切换页面 | iframe子框架 | scrapy框架
  5. JavaWeb入门到实战---笔记
  6. 世界级/全国/省份/城市/县区4级联动
  7. 29日全国铁路预计发送旅客978万人次 同比增长4%
  8. AES加密出现Error: Malformed UTF-8 data报错的解决方法
  9. GDI+学习笔记(六)渐变画刷
  10. IOS13图标尺寸_iOS 13 千万别升,微信又出 Bug 了!