pyhton爬诛仙小说
好吧,第一次写博客时由于出了一点点小问题,所以还得重新写。。。
初次爬小说,我还是比较担心的,因为不知道应该用python的哪个知识点,在网上查询之后,发现还是得使用bs,心里窃喜,接着,要决定爬哪个小说。网上有新浪小说,有网络小说,再三考虑之后,决定爬诛仙小说。(因为符合我对小说的定义以及有现成的网址),好啦,言归正传,工作开始。
1.首先要有一个明确的思路,最终结果应该是一个文件包含小说的所有章节、题目及小说内容,所以,代码中应有事先定义的章节题目空列表,链接空列表。
2.写出格式化代码后,打开小说页面源代码,发现章节代码都很有规律,如下:
所以,正则便可以很容易写出:
contents = soup.find("div", id="list").find_all("a")
3.在匹配章节题目时遇到难题,不知道怎么书写第几章的正则,后来通过查资料,发现一样特别神奇的武器——汉字转化unicode编码工具。
http://www.bangnishouji.com/tools/chtounicode.html 这是链接,可以尝试--**--
所以,本代码需要的正则便是
re.findall(re.compile(ur'\u7b2c.*\u7ae0'),item.text)
4.接下来就是匹配正文
content = soup.find("div", id="content")
然后,将不必要的东西通过re.sub删除。删除时需将内容复制粘贴即可,即使被删除的内容很多,如:
cont = re.sub(r'<script src="/js/chaptererror.js" type="text/javascript"></script>', '', cont)
5.综上,完整代码如下:
# -*- coding:utf-8 -*-from bs4 import BeautifulSoup
import urllib2
import reurl = 'http://www.biquge.tw/26_26491/'
user_agent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0"
headers = {'User-Agent': user_agent}
response = urllib2.Request(url, headers=headers)
html = urllib2.urlopen(response).read()
soup = BeautifulSoup(html, 'html.parser', from_encoding='utf-8')
contents = soup.find("div", id="list").find_all("a")
#print contentsfor item in contents:title = []href = []if re.findall(re.compile(ur'\u7b2c.*\u7ae0'),item.text):#print item.texttitle.append(item.text)href.append(item['href'])for i in range(len(href)):try:url2 = 'http://www.biquge.tw' + href[i]user_agent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0"headers = {'User-Agent': user_agent}response = urllib2.Request(url2, headers=headers)html2 = urllib2.urlopen(response).read()soup = BeautifulSoup(html2, 'html.parser', from_encoding='utf-8')content = soup.find("div", id="content")cont = str(content)cont = re.sub(r'<script src="/js/chaptererror.js" type="text/javascript"></script>', '', cont)cont = re.sub(r'</div>', '', cont)cont = re.sub(r'<div id="content">', '', cont)cont = re.sub(r'<br/>', '\n', cont)f = open('ZX.txt','a')f.write(title[i].encode('utf-8')+'\n'+cont+'\n')f.close()print "OK"except:print "NO"
pyhton爬诛仙小说相关推荐
- 爬取小说2--协程间通信Python
通过Python进行协程间通信,大大加速爬取效率. 前言 是这样的,在之前的爬虫版本中,我们通过并发技术(python协程只是并发).实现快速爬取小说的效果. 将速度提高为原来的几百倍了.但是却由于之 ...
- 多进程爬虫(爬取小说)Python实现
区别于之前用多协程写的爬虫版本 多协程爬取小说 这个版本,开销会比较大.效率上也不一定有之前的高 不过,总体上还是很不错的~ 问题分析 这个版本,还有之前的版本都一样,还存在问题,就是在下载好了文件之 ...
- python多线程爬虫数据顺序_多线程爬取小说时如何保证章节的顺序
前言 爬取小说时,以每一个章节为一个线程进行爬取,如果不加以控制的话,保存的时候各个章节之间的顺序会乱掉. 当然,这里说的是一本小说保存为单个txt文件,如果以每个章节为一个txt文件,自然不会存在这 ...
- 还不知道要看什么小说嘛?爬取小说网站前10页的小说数据分析一波
爬取小说数据 效果 网页分析 网页网址分析 书内容位置分析 不同书内容位置分析 将内容存到Excel 完整代码 效果 网页分析 网页网址分析 对比我们可以发现,不同的网页只有后边的数字不一样. 得到前 ...
- 看小说有广告?不可能的,分分钟教你爬取小说
爬取小说 效果 分析网页 正则表达式分析 请求头分析 完整代码 可能出现的错误 效果 分析网页 我们可以看到 小说的章节的标题与对应的链接是在<dd></dd>这个节点中的. ...
- python按章节分割txt_python爬虫,爬取小说
功能:爬取并下载小说中非vip部分的内容. 对于一个有八九年书龄的老书虫而言,遇到想看的小说,却没有找到下载的窗口,每次阅读都需要网上搜索,特别是网不好的地方,是十分不方便的.因此利用python写了 ...
- python爬取小说代码bs4和_使用python爬虫,requests(夹带BeautifulSoup的使用)爬取网络小说...
由于本人也是初学者,算是小白一枚,这里跟大家分享一下爬取网站上的小说的过程. 第一步我们需要导入我们需要的模块,比如requests,BeautifulSoup,还有正则模块re. 代码如下:impo ...
- python 爬虫爬取小说信息
1.进入小说主页(以下示例是我在网上随便找的一片小说),获取该小说的名称.作者以及相关描述信息 2.获取该小说的所有章节列表信息(最重要的是每个章节的链接地址href) 3.根据每个章节的地址信息下载 ...
- java 爬虫_Java原生代码实现爬虫(爬取小说)
Java也能做爬虫. 现在提到爬虫人第一个想到的就是python,其实使用Java编写爬虫也是很好的选择,Java成熟的爬虫框架很多,下面给大家展示一个使用Java基础语言编写的爬取小说的案例: 实现 ...
最新文章
- Python的dict字典结构操作方法学习笔记
- CSP认证	201403-1相反数[C++题解]:哈希表
- python 深拷贝_Python之类的浅拷贝与深拷贝
- Android编译系统分析四:实战-新增一个产品
- 国际货运快递操作流程
- 美味果冻(牛客练习赛53B)
- 接收用户的输入 Scanner类
- 借助 Pod 删除事件的传播实现 Pod 摘流
- 2014年自动化的个人感想
- jieba 结巴分词详解
- WPF MVVM 框架
- SSL 1384 炮兵阵地
- 一周信创舆情观察(9.27~10.10)
- tomcat 8.5.31启动报错:org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLD
- 手机上好用的APP推荐
- vue中后台管理登录后的token管理
- 关于4次挥手时等待2MSL的问题
- 16.04编译android 7.0,[原创]使用ubuntu 16.04编译android-6.0.0_r1
- Windows远程桌面实现之十 - 把xdisp_virt项目移植到iOS,macOS,linux平台(一)
- 调侃计算机专业的句子,调侃生活的幽默句子
热门文章
- iOS如何处理zip文件,解压或者压缩?
- nuxt服务端渲染技术
- QT之model-delegat-model---QAbstractListModel QAbstractTableModel 与 QItemDelegate关系
- PostgreSQL导出表结构|表数据
- mysqldump导出所有数据库数据
- ol,li,ul列表
- 中国的教育缺少什么?
- KMP算法及next数组(最大公共前后缀)求解
- python 图像识别游戏_基于Python的浏览器图像识别
- 计算机毕业设计 SSM校园拼车系统 拼车出行管理系统 滴滴打车管理系统Java Vue MySQL数据库 远程调试 代码讲解