用python爬取小说章节内容
在学爬虫之前, 最好有一些html基础, 才能更好的分析网页.
主要是五步:
1. 获取链接
2. 正则匹配
3. 获取内容
4. 处理内容
5. 写入文件
代码如下:
#导入相关model
from bs4 import BeautifulSoup
import requests
import re #获取目标链接地址
url = 'http://www.biquyun.com/0_292/'
reponse = requests.get(url)
reponse.encoding = 'gbk' #设置编码方式,可在网页源码头部查到
html = reponse.text #获取各章节链接和标题
#审查元素, 找到小说章节的代码位置, 找出其对应的标签, 进行正则匹配
dl = re.findall(r'<dd><a href="(.*?)">(.*?)</a>', html, re.S) #返回list类型
j=0 #计数, 只获取前30章, 多了结果要很久才出来 #进行章节内容获取
for chapter in dl:
if j >= 30:
break
#获取章节链接,名字.等价于c_link=chapter[0]; c_title=chapter[1]
chapter_link, chapter_title = chapter
#补全链接,因为之前获取的只是链接的尾部
chapter_link = "http://www.biquyun.com%s" % chapter_link #仿照之前的再写一遍
chapter_reponse = requests.get(chapter_link)
chapter_reponse.encoding='gbk'
chtml = chapter_reponse.text
#找到小说章节正文所在标签
chapter_content = re.findall(r'<div id="content">(.*?)</div>', chtml,re.S)
#将它们转换为字符串,因为list无法进行replace操作
t = str(chapter_title)
s = str(chapter_content)
#替代好空格,换行, 以及列表的左右中括号
s = s.replace(' ','').replace('<br />',"\n").replace('\\r\\n','')
s = s.replace(']',"\n").replace('[',' ').replace
#新建txt文件,并将其名字设置为章节名, 写入
f = open('E:/temp/zhuxian/%s.txt' % chapter_title, 'w')
f.write(t)
f.write('\n')
f.write(s)
j = j+1
print('ok')
f.close()
''' s = s.replace('[','')
s = s.replace('<br />',"\n")
s = s.replace('\\r\\n','')'''
用python爬取小说章节内容的更多相关文章
- 用Python爬取小说《一念永恒》
我们首先选定从笔趣看网站爬取这本小说. 然后开始分析网页构造,这些与以前的分析过程大同小异,就不再多叙述了,只需要找到几个关键的标签和user-agent基本上就可以了. 那么下面,我们直接来看代码. ...
- 利用python的requests和BeautifulSoup库爬取小说网站内容
1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...
- python爬取小说详解(一)
整理思路: 首先观察我们要爬取的页面信息.如下: 自此我们获得信息有如下: ♦1.小说名称链接小说内容的一个url,url的形式是:http://www.365haoshu.com/Book/Cha ...
- 详细记录了python爬取小说《元尊》的整个过程,看了你必会~
学了好几天的渗透测试基础理论,周末了让自己放松一下,最近听说天蚕土豆有一本新小说,叫做<元尊>,学生时代的我可是十分喜欢读天蚕土豆的小说,<斗破苍穹>相信很多小伙伴都看过吧.今 ...
- python爬取小说
运行结果: 代码: import requests from bs4 import BeautifulSoup from selenium import webdriver import os cla ...
- python入门学习之Python爬取最新笔趣阁小说
Python爬取新笔趣阁小说,并保存到TXT文件中 我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后 ...
- Python3爬取小说并保存到文件
问题 python课上,老师给同学们布置了一个问题,因为这节课上学的是正则表达式,所以要求利用python爬取小说网的任意小说并保存到文件. 我选的网站的URL是'https://www.biquka ...
- python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)
转载出处:药少敏 ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: from bs4 import BeautifulSoup imp ...
- python 爬取网络小说 清洗 并下载至txt文件
什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...
随机推荐
- Android的Overlay机制
相关知识点的掌握: AAPT的使用和原理 编译脚本 参考:http://blog.sina.com.cn/s/blog_645b74b90101ojkc.html
- hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)
hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一.预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,t ...
- querySelector()与querySelectorAll()的区别及NodeList和HTMLCollection对象的区别
querySelector().Document.Element类型均可调用该方法. 当用Document类型调用querySelector()方法时,会在文档元素范围内查找匹配的元素:而当用Elem ...
- ASP.NET MVC 音乐商店 - 0 概览
这是一个系列文章,原文内容出自微软的 MusicStore. 首先对原文内容进行了简单的翻译,以方便大家参考,另外对于其中的部分内容,也进行了简单的分析,使用的 Visual Studio 也换成了中 ...
- js 常用排序整理
排序: 1. 内部排序: (1). 交换排序: 1). 冒泡排序 稳定 一次比较相邻两个元素的大小,顺序错误的,将其位置互换 (从高位到低位 或者 从低位到高位) 初始版: var array = [ ...
- windows常用命令集锦
开始→运行→输入的命令集锦 gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 lo ...
- IT小小鸟读书笔记2
Part4: 一. 大学的时光真的很容易荒废,自己的实力到头来和自己的成绩单一样空虚,其实自己也是深有同感的. 二. 这个观点我十分的认同:在某个方面比别人多5%的深度,可能拿到的报酬就是 ...
- EJB是什么?
1. 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么 ...
- python闭包&装饰器&偏函数
什么是闭包? 首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数.这个被引用的 ...
- mysql 5.7版本如何修改密码
这是官方截图,mysql5.7安装后,会有一个默认密码,保存在mysql.log里面,找的他,并更改 官方文档地址 https://dev.mysql.com/doc/refman/5.7/en/li ...