前言

今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得。

首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取的人会很多,所以我们需要考虑更换代理IP和随机更换请求头的方式来对小说数据进行爬取。

在每次进行爬虫代码的编写之前,我们的第一步也是最重要的一步就是分析我们的网页。

通过分析我们发现在爬取过程中速度比较慢,所以我们还可以通过禁用谷歌浏览器图片、JavaScript等方式提升爬虫爬取速度。

开发工具

Python版本: 3.6

相关模块:

requests模块

parsel模块

tqdm模块

pandas模块

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

文中完整代码及小说,评论留言获取

思路分析

浏览器中打开我们要爬取的页面
按F12进入开发者工具,查看我们想要的小说数据在哪里
这里我们需要页面数据就可以了

Cookie获取

代码实现

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',#'Cookie': '你的Cookie'
}def get_response(html_url):"""发送请求"""# headers 字典类型 键值对 :隔开# headers 请求头的作用: 把python代码伪装成浏览器对服务器发送请求response = requests.get(url=html_url, headers=headers)time.sleep(6)return responsedef save(name, title, content):with open(name + '.txt', mode='a', encoding='utf-8') as f:f.write(title)f.write('\n')f.write(content)f.write('\n')def get_novel_content(html_url):response = get_response(html_url)# parsel 解析数据 是需要把获取到的html字符串数据 转换成 selector 对象# selector 对象 调用封装好的 css选择器 xpath# 解析数据 提取小说url章节地址 小说名字selector = parsel.Selector(response.text)# css选择器 通过标签属性 提起数据name = selector.css('#info h1::text').get()href = selector.css('#list dd a::attr(href)').getall()# get 获取一个标签内容[字符串]  getall 是获取所有标签属性内容[列表]# 想要把列表里面每一个元素都提取出来的话, 是需要通过遍历for index in href:# https://www.biquges.com/10_10770/6896120.htmlindex_url = 'https://www.biquges.com' + indexresponse_1 = get_response(index_url)selector_1 = parsel.Selector(response_1.text)title = selector_1.css('.bookname h1::text').get()print(title)content_list = selector_1.css('#content::text').getall()# 保存文本数据 是字符串的形式# 把列表转换成字符串 str() 强制转换数据类型content = ''.join(content_list)save(name, title, content)

结果展示

最后

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

里面有适合小白新手入门的实战教程给到大家~

快来和小鱼一起成长进步吧!

① 100+多本PythonPDF(主流和经典的书籍应该都有了)

② Python标准库(最全中文版)

③ 爬虫项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

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

  1. Python 爬虫实战,模拟登陆爬取数据

    Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...

  2. Python爬虫实战系列(一)-request爬取网站资源

    Python爬虫实战系列(一)-request爬取网站资源 python爬虫实战系列第一期 文章目录 Python爬虫实战系列(一)-request爬取网站资源 前言 一.request库是什么? 二 ...

  3. python爬虫实战(一)--爬取知乎话题图片

    原文链接python爬虫实战(一)–爬取知乎话题图片 前言 在学习了python基础之后,该尝试用python做一些有趣的事情了–爬虫. 知识准备: 1.python基础知识 2.urllib库使用 ...

  4. python3网络爬虫--爬取b站用户投稿视频信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...

  5. python爬虫实战之百度新闻爬取

    百度新闻信息爬取 目录 百度新闻信息爬取 序言 获取在百度新闻中搜索"阿里巴巴"的网页源代码 编写正则表达式提取新闻信息 数据清洗并打印输出 实战完整代码 序言  通过对百度新闻标 ...

  6. 【Python爬虫实战】使用Selenium爬取QQ音乐歌曲及评论信息

    本文对使用到的技术仅做简单的介绍,若想了解更多,请前往相应的官网网站进行学习. 本文适合对爬虫相关知识接触不多的新手,主要是普及Selenium如何做爬虫,大佬请跳过. 1.Selenium简单介绍 ...

  7. 利用python爬虫(案例6+part14)--如何爬取科研数据

    学习笔记 文章目录 Ajax动态加载网站数据抓取 动态加载的类型 那么该如何抓取数据? 如何得到JSON文件的地址? 观察JSON文件URL地址的查询参数 JSON格式数据转换成python字典 如何 ...

  8. 爬虫实战——绝对通俗易懂,爬取房产数据

    爬取房产数据 爬虫介绍 实战目标 1.获取url 2.利用BeautifulSoup获取html的索引 3.查找所需数据索引 4.正则表达式获取所需要的信息 完整代码 爬虫介绍 简单介绍一下爬虫,百度 ...

  9. python3APP爬虫--爬取王者荣耀小姐姐cosplay照片(附源码)

    文章目录 一.絮叨 1.接上 2.启下 二.代码 三.查看数据 四.总结 一.絮叨 1.接上 自己挖的坑,自己填.上一篇python3APP爬虫–爬取王者荣耀英雄图片(附源码)爬取了王者荣耀英雄图片, ...

最新文章

  1. Flash Builder 找不到所需的Adobe Flash Player调试器版本的解决办法
  2. 未来的信息安全管理人员应当具备哪些技能
  3. poj 2355(简单dp)
  4. 可疑文件_特制的ZIP文件能够绕过电子邮件安全网关
  5. clover 主题_Clover主题更换
  6. 2017-2018-1 20155313 《信息安全系统设计基础》第五周学习总结
  7. ubuntu12.04 php环境搭建,Ubuntu12.04筹建php开发环境
  8. 青龙面板2.8 Bot配置教程
  9. 【编程常识】关于 Visual Basic 6.0 语言
  10. 微信加人就服务器频繁,微信加同一个人好友,提示操作过于频繁,请稍后重试!这个是什么意思啊?...
  11. MYSQL之数据库高级SQL语句详细操作步骤详情介绍
  12. 《德鲁克管理思想精要》读书笔记7 - 如何做人
  13. Python中的装饰器、迭代器、生成器、推导式、匿名函数和高阶函数
  14. 程序员过高工资导致加班?应该降低程序员工资?网友:放过其他苦逼的程序员吧
  15. 迭代阈值图像分割matlab,Matlab 图像分割 (阈值处理)
  16. 给HashMap排序的方法
  17. filezilla定时上传_ftp定时任务上传文件,ftp怎么做到定时任务上传文件
  18. 实战 | 基于 Serverless 技术的视频截帧架构如何实现?
  19. 一种具有细粒度和多尺度的多源跨模态遥感图像检索方法
  20. JetBrains 是如何看待自己的软件在中国被频繁破解的?

热门文章

  1. C语言函数指针【第022讲】
  2. Ai studio 使用教程:
  3. IE11 SVG对象不支持 parentElement和children
  4. asynchttpclient 超时_ DNF:鬼泣技能加点3个流派分析,超时空漩涡与普雷思路不同!...
  5. 激战2怎么选最新的服务器,激战2怎么换服务器
  6. 【虹科直播回顾】笔记及问题解答 | AR解决方案助力数字工厂降本增效
  7. CSS基础知识——定位
  8. 怎么写伪原创文章,可以输入标题自动生成么?
  9. oppo r15 android 8,质的飞跃?OPPO R15将搭载基于Android 8.0的全新ColorOS 5.0
  10. 写一个垃圾桶开关盖子的动画其实很简单