储备知识应有:Python语言程序设计
Python网络爬虫与信息提取
两门课程都是中国大学MOOC的精彩课程,特别推荐初学者。环境Python3
本文整体思路是:1.获取小说目录页面,解析目录页面,得到所有章节链接存储在一个二维列表中。对应函数 allurl(urldir,html)
2.每次解析一章节,然后保存在文件中。对应函数 fillFile(urldir, file)

# 下载斗罗大陆
import bs4, lxml, traceback
from bs4 import BeautifulSoup
import requests#爬取网页信息
def getHtmlText(url):try:# 设置代理 获取网页header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}r=requests.get(url, headers= header)# 判断返回状态r.raise_for_status()# 设置编码r.encoding=r.apparent_encoding# 返回网页内容return r.textexcept:return "获取网页信息失败"#解读网页信息
def fillFile(urldir, file):# 总章节数numbers = len(urldir)# 当前处理的章节数index = 1# 对二维列表进行解析for i in range(numbers):# 处理一维列表child = urldir[i]text = getHtmlText(child[1])# 煲汤,解析网页信息soup = BeautifulSoup(text, 'lxml')# 获取标题title = child[0]# 捕获出现的异常try:# 获取内容content = soup.select('#content')[0].text.replace('<br/><br/>', '').strip('style56(); ')both = title + '\n' + content + '\n'file.write(both)except IndexError:print(title +  '出现列表索引异常----------------')print(traceback.print_exc())except:print(title + ' 出现异常')# 打印具体的异常信息print(traceback.print_exc())print('\r{}当前已下载:{:.3f}%'.format(title,index / numbers * 100))index += 1# 解读目录信息,获取所有章节url
def allurl(urldir,html):# 煲汤,解析目录信息soup = BeautifulSoup(html,'html.parser')# 查找目录信息位置allurl = soup.find_all('div', class_="clearfix dirconone")[0]# 下行遍历获取所有的章节信息 保存在二维列表中for li in allurl.children:# 是否是标签对象if isinstance(li, bs4.element.Tag):# 读取a标签lis = li.a# 在字典类型中获取标题和链接name,link = lis.attrs['title'].split(sep=',共')[0], lis.attrs['href']urldir.append([name, link])
def main():# 小说目录地址url = 'http://www.quanshuwang.com/book/44/44683'# 存储所有的章节链接uinfo = []# txt文件file = open('D:斗罗大陆.txt', 'w', encoding='utf-8')# 获取网页内容html = getHtmlText(url)# 将所有目录url放入uinfoallurl(uinfo, html)# 将每一章解析到txt文件中fillFile(uinfo, file)# 关闭文件file.close()
main()

Python爬虫实战 | 抓取小说网完结小说斗罗大陆相关推荐

  1. Python爬虫实战---抓取图书馆借阅信息

    Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...

  2. python爬虫招聘-Python爬虫实战-抓取boss直聘招聘信息

    实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃.为此小编建了个Python全栈免费答疑.裙 : ...

  3. python 爬虫实战 抓取学校bbs相关板块的发帖信息

    1. 前言 之前也因为感兴趣, 写过一个抓取桌面天空里面喜欢的动漫壁纸的爬虫代码.这两天突然看到有人写了这么一篇文章: 爬取京东本周热卖商品基本信息存入MySQL 觉得蛮有趣的, 正好临近找工作的季节 ...

  4. python爬虫实战-抓取同花顺股票信息

    前言: 在之前介绍requests的基础上,现在开始进行实战. 目标网站:http://q.10jqka.com.cn//index/index/board/all/field/zdf/order/d ...

  5. 【第4篇】Python爬虫实战-抓取B站弹幕视频

    目录 1.获取视频cid参数 2.程序源代码 3.程序运行结果 4.总结 1.获取视频cid参数 首先我们打开一个有弹幕的B站视频,比如:<我好像在哪见过你>人们把难言的爱都埋入土壤里_哔 ...

  6. python爬虫实战1-获取当当网近30日好评榜前500本书籍

    1.首先打开当当网,点击好评榜,选择近30日,此时浏览器中的URL复制一下,备用 http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00- ...

  7. Python爬虫实战抓取十一旅游最优惠的机票!

    目的 获取去哪儿默认页面的机票航班信息 详细需求 目标URL:https://m.flight.qunar.com/h5/flight/ 源码实现 #!/usr/bin/env python # -* ...

  8. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  9. python抓取视频违法吗,科学网—【python爬虫】抓取B站视频相关信息(一) - 管金昱的博文...

    昨天我在B站上写了这么一篇文章,但是被他们锁住了.无奈之下我复制到知乎上先保存起来 在这篇名为<三天学会用python进行简单地爬取B站网页视频数据>文章中我主要提到了两点在已知aid的情 ...

最新文章

  1. java基础编程题(2)
  2. Linux下getopt函数的使用
  3. 工业相机帧率与曝光时间的关系
  4. 计算机网络:分组交换
  5. 推荐 10 个好用的 Vue3 的开源项目,开发效率又能提升了!
  6. 北大清华的状元之争:一个典型的囚徒困境
  7. dev c++调试怎么看变量的值_利用GDB调试 MSQL
  8. NameError: name 'sys' is not defined
  9. 杭电4515小Q系列故事——世界上最遥远的距离
  10. [设计模式-行为型]观察者模式(Observer)
  11. Java集合之一—HashMap
  12. ADL之UI初预览 AJAX 开发
  13. 公交查询系统Android源代码,公交查询源码
  14. 链表?数组?合二为一
  15. 华为S5700交换机设置密码包括telnet密码
  16. 【论文阅读】3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for
  17. 干货 | 关于SwiftUI,看这一篇就够了
  18. linux 多点触摸屏测试,c – Linux中的多点触控
  19. 腾讯位置大数据中区域热力图数据的数据解析
  20. 企业经营发展战略的选择

热门文章

  1. 这就是男人和女人,赤裸裸的现实!!都是这个德行
  2. 密信MeSign的统一身份认证服务
  3. redis设置key的TTL
  4. [python]---面向对象
  5. VSCode 英文转换成中文显示
  6. 走进数据结构 - 树(Tree)的世界
  7. 解决z-index,导致高层级div的鼠标事件无效
  8. 如何判断人脸门禁一体机/人脸识别终端是否支持4G、WIFI、刷IC卡、刷身份证
  9. lda 可以处理中文_LDA主题模型,希拉里邮件门文本分析
  10. 微课在小学计算机教学中的应用,试论微课在小学信息技术教学中的应用