python爬虫-小说《大江大河》

  • 最近看了电视剧大江大河电视剧,挺好看的,就在网上找找小说看。

最近看了电视剧大江大河电视剧,挺好看的,就在网上找找小说看。

大江大河小说地址:傲宇中文网 http://www.aouchina.com/shu/31369/

直接鼠标右键查看源码

其实原理很简单,在这个网址上点击进入每一章,然后下载里面的内容,例如第一章:第1章 1978年,在这个的href就是相对路径,所以前面加上该网址之后就是 http://www.aouchina.com/shu/31369/15059327.html
进入该网址就是第一章的内容
再次右键查看源码:

找这个div下面的内容就是小说的内容,最后把所有小说内容循环写进txt中。
最后附上py源码

import time
from urllib import request
from bs4 import BeautifulSoup
import re
import sysif __name__ == "__main__":#创建txt文件file = open('大江大河.txt', 'w', encoding='utf-8')#一念永恒小说目录地址target_url = 'http://www.aouchina.com/shu/31369/'head = {}head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'target_req = request.Request(url = target_url, headers = head)target_response = request.urlopen(target_req)target_html = target_response.read().decode('gbk','ignore')listmain_soup = BeautifulSoup(target_html, 'html5lib')print("22222222222"+str(listmain_soup))#找出div标签中class为list的所有子标签chapters = listmain_soup.find_all('div',id = 'list')print("22222222222"+str(chapters))download_soup = BeautifulSoup(str(chapters))#计算章节个数numbers = (len(download_soup.dl.contents) - 1) / 2 - 8index = 1begin_flag = Falsefor child in download_soup.dl.children:if child != '\n':#爬取链接并下载链接内容if child.a != None:download_url = "http://www.aouchina.com" + child.a.get('href')download_req = request.Request(url = download_url, headers = head)download_response = request.urlopen(download_req)download_html = download_response.read().decode('gbk','ignore')download_name = child.stringsoup_texts = BeautifulSoup(download_html)texts = soup_texts.find_all(id = 'content')soup_text = BeautifulSoup(str(texts))write_flag = Truefile.write(download_name + '\n\n')#将爬取内容写入文件for each in soup_text.div.text.replace('\xa0',''):if each == 'h':write_flag = Falseif write_flag == True and each != ' ':file.write(each)if write_flag == True and each == '\r':file.write('\n')print('正在写入第{0}小节'.format(index))index+=1file.write('\n\n')#打印爬取进度sys.stdout.write("已下载:%.3f%%" % float(index/numbers) + '\r')sys.stdout.flush()index += 1file.close()

期间遇到的问题:1 没有安装html5lib

控制台打印的进度和小节有点问题,就懒得改了。

最后附上上述代码运行后爬虫爬下的《大江大河》小说的txt下载路径
复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1gYbDpjo4PewdbvAOiQ7vNQ 提取码:edgq

python爬虫-小说《大江大河》相关推荐

  1. python爬虫小说代码示例-中文编程,用python编写小说网站爬虫

    原标题:中文编程,用python编写小说网站爬虫 作者:乘风龙王 原文:https://zhuanlan.zhihu.com/p/51309019 为保持源码格式, 转载时使用了截图. 原文中的源码块 ...

  2. python爬虫小说教程_python制作小说爬虫实录

    纪念我的第一个爬虫程序,一共写了三个白天,其中有两个上午没有看,中途遇到了各种奇怪的问题,伴随着他们的解决,对于一些基本的操作也弄清楚了.果然,对于这些东西的最号的学习方式,就是在使用中学习,通过解决 ...

  3. python爬虫小说代码示例-Python从零开始写爬虫-4 解析HTML获取小说正文

    Python从零开始写爬虫-4 解析HTML获取小说正文 在上一节中, 我们已经学会如何获取小说的目录, 这一节我们将学习如何通过正则表达式(在第二节学习过)来获取小说正文. 首先, 先随便选择一个章 ...

  4. python爬虫小说下载到txt文档_python 爬取网络小说 清洗 并下载至txt文件

    什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...

  5. python 爬虫小说 使用无头浏览器 + 自动化爬虫

      仅供学习,请勿商业行为!,未经允许请勿转载 获取到搜索接口 和 请求方法和请求参数   当前是post 方法 请求参数为 获取对应小说的详情介绍页 对应类.对应浏览器驱动获取方法 python s ...

  6. python爬虫小说系统_python3小说爬虫

    作为一个很喜欢看书的人,有时候在网页上看小说,会被数不胜数的广告弄的很烦,刚好最近在研究python,就自己写了一个小说爬虫,并用pyqt做了图形界面. 下面介绍一下主要思路,不过就不开源了,因为我的 ...

  7. python爬虫--小说爬取

    requests+bs4模块–简单爬虫实例–小说爬取 文章目录 section1:声明 section2:想法 section3:下载链接分析: section4:代码编写 1.导包 2.构建请求头 ...

  8. python爬虫 小说下载 异步

    看别人用异步请求快的飞起, 忍不住手痒尝试了下, 但过程并不美好, 一不小心就是满屏的"红色警告" 不过成功的喜悦总是让人陶醉的, 这也是学习的魅力吧 先看下运行过程 需要插入一个 ...

  9. python爬虫小说代码示例-使用简单Python爬虫获取一个干净整洁的小说文件

    打开小说所在界面,右击选择查看网页源代码 1.在头部能够看到'charset=utf-8'得知文件的编码为'uft-8'!,url=http://www.17k.com/list/2921315.ht ...

最新文章

  1. ThinkPad L440 FN键设置
  2. SharePoint Set-SPUser 命令拒绝访问
  3. 消息消费要注意的细节
  4. 代理服务器https协议单站点开通注意事项
  5. Newton Method in Maching Learning
  6. LeetCode 260. 只出现一次的数字 III(位运算)
  7. 改进初学者的PID-微分冲击
  8. offer该怎么选:大公司or小公司?高薪or期权?
  9. 2-2 内建变量类型
  10. mixpanel实验教程(2)
  11. background: radial-gradient径向渐变
  12. 使用wsdl2java编写webservice客户端
  13. linux免费商用字体,免费可商用字体~文泉驿正黑体
  14. rails相当于java中的什么_Rails中的ERB中的%,%=,%#和-%有什么区别?
  15. 设计一个H5编辑器的数据模型和核心功能
  16. 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是缺少程序集引用吗?)...
  17. php7.0的新特性
  18. MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版
  19. 1121. Damn Single (25)
  20. 《权力的游戏》蕴含的管理经

热门文章

  1. Ubuntu20.04编译并运行imu_utils,并且标定IMU
  2. 文本域、标签、密码域、文本区、滚动窗格——文本输入
  3. 计算机毕业设计 SSM+Vue前台点菜订餐平台系统 餐饮点餐订单管理系统 外卖点餐团购平台管理系统Java Vue MySQL数据库 远程调试 代码讲解
  4. [c语言]0xC0000005访问冲突
  5. 工程研发中EVT、DVT、PVT、MP等名词解释
  6. Amazon亚马逊常见的几种label
  7. 用户信息管理系统测试报告
  8. 转移概率矩阵(Transition Probability Matrix)
  9. 研发程序员求职简历表-Word简历可编辑下载
  10. Ansj中文分词说明