用python爬取小说章节内容

在学爬虫之前, 最好有一些html基础, 才能更好的分析网页.

主要是五步:

1.  获取链接

2. 正则匹配

3. 获取内容

4. 处理内容

5. 写入文件

代码如下:

 1 #导入相关model
 2 from bs4 import BeautifulSoup
 3 import requests
 4 import re
 5
 6 #获取目标链接地址
 7 url = ‘http://www.biquyun.com/0_292/‘
 8 reponse = requests.get(url)
 9 reponse.encoding = ‘gbk‘ #设置编码方式,可在网页源码头部查到
10 html = reponse.text
11
12 #获取各章节链接和标题
13 #审查元素, 找到小说章节的代码位置, 找出其对应的标签, 进行正则匹配
14 dl = re.findall(r‘<dd><a href="(.*?)">(.*?)</a>‘, html, re.S) #返回list类型
15 j=0 #计数, 只获取前30章, 多了结果要很久才出来
16
17 #进行章节内容获取
18 for chapter in dl:
19     if j >= 30:
20         break
21     #获取章节链接,名字.等价于c_link=chapter[0]; c_title=chapter[1]
22     chapter_link, chapter_title = chapter
23     #补全链接,因为之前获取的只是链接的尾部
24     chapter_link = "http://www.biquyun.com%s" % chapter_link
25
26     #仿照之前的再写一遍
27     chapter_reponse = requests.get(chapter_link)
28     chapter_reponse.encoding=‘gbk‘
29     chtml = chapter_reponse.text
30     #找到小说章节正文所在标签
31     chapter_content = re.findall(r‘<div id="content">(.*?)</div>‘, chtml,re.S)
32     #将它们转换为字符串,因为list无法进行replace操作
33     t = str(chapter_title)
34     s = str(chapter_content)
35     #替代好空格,换行, 以及列表的左右中括号
36     s = s.replace(‘&nbsp;‘,‘‘).replace(‘<br />‘,"\n").replace(‘\\r\\n‘,‘‘)
37     s = s.replace(‘]‘,"\n").replace(‘[‘,‘ ‘).replace
38     #新建txt文件,并将其名字设置为章节名, 写入
39     f = open(‘E:/temp/zhuxian/%s.txt‘ % chapter_title, ‘w‘)
40     f.write(t)
41     f.write(‘\n‘)
42     f.write(s)
43     j = j+1
44 print(‘ok‘)
45 f.close()
46 ‘‘‘ s = s.replace(‘[‘,‘‘)
47     s = s.replace(‘<br />‘,"\n")
48     s = s.replace(‘\\r\\n‘,‘‘)‘‘‘

原文地址:https://www.cnblogs.com/DSYR/p/10320104.html

时间: 2024-10-06 15:50:07

用python爬取小说章节内容的相关文章

Python 爬取小说——《唐朝小闲人 》

# 爬取小说:唐朝小闲人 # 导入需要用到的库 import requestsimport osimport reimport timeimport random # 查看源网页 beginurl = 'https://www.sbiquge.com/2_2523/' # 目录网页 ## 爬取各章网页 url_response = requests.get(beginurl).text                 #目录网页的源代码url_regex = '<a href ="/2_2

python爬取小说

运行结果: 代码: 1 import requests 2 from bs4 import BeautifulSoup 3 from selenium import webdriver 4 import os 5 6 class NovelSpider: 7 def __init__(self): 8 self.start_url = 'https://www.biqukan.com/1_1680/' 9 10 def get_novel(self): 11 response = request

python入门学习之Python爬取最新笔趣阁小说

Python爬取新笔趣阁小说,并保存到TXT文件中      我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后迎刃而解了.这个程序非常的简单,程序的大概就是先获取网页的源代码,然后在网页的源代码中提取每个章节的url,获取之后,在通过每个url去获取文章的内容,在进行提取内容,然后就是保存到本地,一TXT的文件类型保存.大概是这样1:获取网页源代码2:获取每章的url3:获取每章的内容4:下载保存文件中 1

Python3网络爬虫(七):使用Beautiful Soup爬取小说

转载请注明作者和出处:http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 一.Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简

Python爬虫:爬取小说并存储到数据库

爬取小说网站的小说,并保存到数据库 第一步:先获取小说内容 #!/usr/bin/python # -*- coding: UTF-8 -*- import urllib2,re domain = 'http://www.quanshu.net' headers = {     "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom

python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: 1 from bs4 import BeautifulSoup 2 import requests 3 4 if __name__ == '__main__': 5 html = requests.get('http://www.136book.com/huaqiangu/') 6 soup = BeautifulSoup(html.content, 'lxml'

Python 爬取笔趣阁小说

最近在学习 Python,觉得爬虫很好玩,今天我准备爬取我看了至少三遍的小说<雪中悍刀行>,作者是烽火戏诸侯,他的小说很有才华,有着很多的粉丝,但他很多部小说都处于断更状态,因此人称大内总管. 我准备爬取小说的网站是新笔趣阁,这里一个盗版网站,是名门正派的眼中钉,不过对于我这种不想交钱看小说的人,没资格评论它,这个网站连载的小说更新的还是比较快的,内容都是和正版的内容一模一样.好了,废话不多说了,下面开始放代码: 我在抓取小说内容时先用了 requests 库来抓取,结果就抓到了一章小说的开头

python 爬取网络小说 清洗 并下载至txt文件

什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索. 爬虫访问网站的过程会消耗目标系统资源.不少网络系统并不默许爬虫工作.因此在访问大量页面时,爬虫需要考虑到规划.负载,还需要讲“礼貌”. 不愿意被爬虫访问.被爬虫主人知晓的公开站点可以使用robots.txt文件之类的方法避免访问.这个

Python实战项目网络爬虫 之 爬取小说吧小说正文

本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 链接:http://tieba.baidu.com/p/4792877734 首先,自己定义一个类,方便使用.其实类就像一个"水果篮",这个"水果篮"里有很多的"水果",也就是我们类里面定义的变量啊,函数啊等等,各种各样的.每一种"水果&q