用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),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以 ...
随机推荐
- Python pip windows安装
参考页面: [1] : https://pip.pypa.io/en/latest/installing.html [2] : http://stackoverflow.com/questions/4 ...
- OLEDB 参数化查询
一般情况下,SQL查询是相对固定的,一条语句变化的可能只是条件值,比如之前要求查询二年级学生信息,而后面需要查询三年级的信息,这样的查询一般查询的列不变,后面的条件只有值在变化,针对这种查询可以使用参 ...
- angular-自定义模块
<!DOCTYPE html><html lang="en" ng-app="app"><head> <script ...
- asp.net后台获取html控件的值
1.asp.net后台获取前台type=text控件的值 前台:<input name="txtName" class="username" type=& ...
- 基于ArcGIS的CAD数据向GIS数据转换方法(转)
基于ArcGIS的CAD数据向GIS数据转换方法 1 CAD数据与ArcGIS数据介绍 地图数据来源多种多样,大多数使用的是计算机辅助设计软件(CAD)制作的数据,CAD软件制图自动化程度高,操作简单 ...
- 【Linux】Core dump故障分析
引入: Q:如果一个程序运行3天后才会出错,这个时候难道需要我们一直用GDB调试程序3天吗? A:答案当然是否定的. 我们有更厉害的工具--Core dump 一.Coredump定义 Core Du ...
- 详解Struts1.x的运行机制及命名规则
Struts1.x 调用一个action的大致流程: 1)首先前端发送 *.do的一个action请求(通过点击表单提交按钮,js 事件等): 2)web.xml 文件通过 *.do 找到 Actio ...
- (阿里巴巴)数据库连接池——Druid (未完持续更新)
Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色的性能,也 ...
- 检查SQL Server 2005的索引密度和碎片信息(转)
查询数据库中所有表的索引密度和碎片信息,以便为索引的重建和整理提供依据,也可以参考DBCC SHOWCONTIG,通常FRAGMENTATIOIN在30%以上建议重建,否则建议整理 SELECT i. ...
- dedecms 模板文件不存在 无法解析文档!问题定位方法!
生成静态的时候,经常会遇到“模板文件不存在,无法解析文 档!”的问题.很多朋友试过论坛里很多方法,都是针对某些人可以解决,某些人的问题依旧,为什么呢?其实问题很可能确实是多种多样的,表现结果却是一样, ...