python爬取小说写入txt_python爬虫自学之路:爬取小说并保存成TXT文件
最近闲着无聊开始翻看之前看了一半的小说《明朝那些事儿》,天天用网络看好麻烦就写了个爬虫下载下来放到手机上看,下面把写爬虫的过程遇到的问题记录一下,方便以后再来找,写这个爬虫碰到的问题总共就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文件相关推荐
- python爬取小说写入txt_Python爬虫练习 爬取网络小说保存到txt
利用python爬虫爬取网络小说保存到txt,熟悉利用python抓取文本数据的方法. 选取其中某一章,检查网页,可以找到这本小说所有章节的链接和名称. 写出xpath表达式提取出href里的内容:/ ...
- python爬取小说写入txt_Python爬虫爬取小说,并保存至本地文本文件中
运行环境:Python3.6.Pycharm2017.3.Windows10 RS3.requests2.18.4.BeautifulSoup4.6.0 简介 运行效果展示 ① book136_sin ...
- Python爬虫之爬取网络小说并在本地保存为txt文件
Python爬虫之爬取网络小说并在本地保存为txt文件 注:本文使用软件为Sublime Text,浏览器为谷歌浏览器 (新手小白第一次写,写得不好请见谅) **1.**首先找到想要爬取的小说章节目录 ...
- 【期末课设】python爬虫基础与可视化,使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载。
1.大作业的内容 本要求使用python语言以及支持python语言的第三方技术实现爬虫功能,定向爬取网页的图片数据,并且实现批量自动命名分类下载. 2.案例需求 要求采用虚拟浏览器等动态爬虫技术,完 ...
- 基于Python实现的网络爬虫项目——多线程下载小说并保存为txt文件(包含完整代码及注释)
基于Python实现的网络爬虫项目--多线程下载小说并保存为txt文件(包含完整代码及注释) 一.确立预期目标 二.完成项目所需工具 三.项目需要解决的问题 问题一 问题二 问题三 问题四 问题五 问 ...
- 和讯网债券数据Python爬取保存成CSV文件之一
本文讲述国债数据使用python爬取的方式,并将得到的数据保存成CSV文件以日期命名,方便后期处理. 具体代码如下所示: import requests from bs4 import Beautif ...
- android 数据存储怎么保存图片_文章要保存为TXT文件,其中的图片要怎么办?Python帮你解决...
前言 用 python 爬取你喜欢的 CSDN 的原创文章,保存为TXT文件,不仅查看不方便,而且还无法保存文章中的代码和图片. 今天教你制作成 PDF 慢慢看.万一作者的突然把号给删了,也会保存备份 ...
- python 运行结果保存_『如何将python运行结果保存成txt,万分感谢呐』python txt教程...
如何将python运行结果保存成txt,万分感谢呐 把赋值量 content f = open("text.txt",'wb') f.write(content) f.close( ...
- python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据
文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...
最新文章
- dell 服务器系统6,dell C6100服务器安装windows2008R2系统
- PingCode 3.0 发布,开启国产研发自动化时代
- 互联网共鸣之声:2018年或成为云计算转折之年
- unity3d游戏数据加密
- 表单验证失败提示方案(自用)
- php找不到gearmanClent类,centos 使用docker搭建Gearman任务分发系统 ,Gearman的安装和使用...
- nginx 1.9.9 Linux 环境安装
- 【今日CV 计算机视觉论文速览】 6 Mar 2019
- 实战经验:Oracle DG 的归档缺失修复
- windows下手动安装pyinstaller(python2.7)
- php状态机,有限状态机FSM的原理与GO的实现
- KVM/QEMU libvirt 实践
- 华为设备配置备份,配置文件导入导出,设备配置恢复,设备镜像上传
- 【JY】2021全国首届工程仿真大赛154个项目视频教程分享
- Blender 插件开发 添加快捷键
- lora终端连接云服务器_开源LoRa网关与服务器
- Foxmail中的文件夹丢失解决方法
- 【Linux / 数据库】项目实战:tpshop项目在Linux系统环境搭建
- 3w最简单led灯电路图_一款简单实用的LED灯驱动电路
- MATLAB:未来搜索算法(FSA)优化BP神经网络权值、阈值用于降水预测
热门文章
- biome-BGC模型小白求助
- 【Leetcode_总结】538. 把二叉搜索树转换为累加树 - python
- python求周长_计算三角形的周长和面积
- Matlab画三维图的两种方法
- 关于Vue2中使用vuex,页面不显示内容,控制台报以下错误的问题
- 知识图谱研讨实录07丨肖仰华教授带你读懂知识图谱的众包构建
- 快递物流信息推送功能分析
- 创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或无法加载主类的问题。
- jQuery 超实用笔记(一)- 获取元素
- 如何给ubuntu安装一个类似迅雷的下载软件