最近闲着无聊开始翻看之前看了一半的小说《明朝那些事儿》,天天用网络看好麻烦就写了个爬虫下载下来放到手机上看,下面把写爬虫的过程遇到的问题记录一下,方便以后再来找,写这个爬虫碰到的问题总共就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. dell 服务器系统6,dell C6100服务器安装windows2008R2系统
  2. PingCode 3.0 发布,开启国产研发自动化时代
  3. 互联网共鸣之声:2018年或成为云计算转折之年
  4. unity3d游戏数据加密
  5. 表单验证失败提示方案(自用)
  6. php找不到gearmanClent类,centos 使用docker搭建Gearman任务分发系统 ,Gearman的安装和使用...
  7. nginx 1.9.9 Linux 环境安装
  8. 【今日CV 计算机视觉论文速览】 6 Mar 2019
  9. 实战经验:Oracle DG 的归档缺失修复
  10. windows下手动安装pyinstaller(python2.7)
  11. php状态机,有限状态机FSM的原理与GO的实现
  12. KVM/QEMU libvirt 实践
  13. 华为设备配置备份,配置文件导入导出,设备配置恢复,设备镜像上传
  14. 【JY】2021全国首届工程仿真大赛154个项目视频教程分享
  15. Blender 插件开发 添加快捷键
  16. lora终端连接云服务器_开源LoRa网关与服务器
  17. Foxmail中的文件夹丢失解决方法
  18. 【Linux / 数据库】项目实战:tpshop项目在Linux系统环境搭建
  19. 3w最简单led灯电路图_一款简单实用的LED灯驱动电路
  20. MATLAB:未来搜索算法(FSA)优化BP神经网络权值、阈值用于降水预测

热门文章

  1. biome-BGC模型小白求助
  2. 【Leetcode_总结】538. 把二叉搜索树转换为累加树 - python
  3. python求周长_计算三角形的周长和面积
  4. Matlab画三维图的两种方法
  5. 关于Vue2中使用vuex,页面不显示内容,控制台报以下错误的问题
  6. 知识图谱研讨实录07丨肖仰华教授带你读懂知识图谱的众包构建
  7. 快递物流信息推送功能分析
  8. 创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或无法加载主类的问题。
  9. jQuery 超实用笔记(一)- 获取元素
  10. 如何给ubuntu安装一个类似迅雷的下载软件