python爬虫之小说网站--下载小说(正则表达式)

思路:

1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/2447.html)

2.分析自己要得到的内容,首先分析url,发现只有后面的是变化的,先获得小说的没有相对路径,然后组合成新的url(每章小说的url)

3.获得每章小说的内容,进行美化处理

代码如下:

#小说爬虫
import requests
import re
url=‘https://www.kanunu8.com/book4/10509/‘
#因为编码原因,先获取二进制内容再进行解码
txt=requests.get(url).content.decode(‘gbk‘) #当前小说编码为"gbk2312"
m1=re.compile(r‘<td colspan="4" align="center"><strong>(.+)</strong>‘)
#print(m1.findall(txt))
m2=re.compile(r‘<td( width="25%")?><a href="(.+\.html)">(.+)</a></td>‘)
#print(m2.findall(txt))
raw=m2.findall(txt) #获得小说的目录以及对应的每个章节的相对路径
sanguo=[]
for i in raw:
    sanguo.append([i[2],url+i[1]])  #生成每个章节的url

#print(sanguo)

m3=re.compile(r‘<p>(.+)</p>‘,re.S)  #每章节小说内容
m4=re.compile(r‘<br />‘)            #<br />小说内容中的符号
m5=re.compile(r‘&nbsp;&nbsp;&nbsp;&nbsp;‘)
with open(‘中国合伙人1.txt‘,‘a‘) as f:
    for i in sanguo:
        i_url=i[1]  #i[1]为小说章节url
        print("正在下载----->",i[0])    #i[0]为小说章节目录
        r_nr=requests.get(i_url).content.decode(‘gbk‘)
        n_nr=m3.findall(r_nr)
        #print(n_nr)
        n=m4.sub(‘‘,n_nr[0]) #把n_nr[0]中"<br />"替换为空
        n2=m5.sub(‘‘,n)
        f.write(‘\n‘+i[0]+‘\n‘) #把小说的目录写入文件
        f.write(n2)

运行效果如下:

保存的内容如下:

原文地址:https://www.cnblogs.com/yuzly/p/10324250.html

时间: 2024-11-06 20:26:06

python爬虫之小说网站--下载小说(正则表达式)的相关文章

微信小说网站制作,小说网站源码,小说网站定制开发,小说网站建设

绿茶小说系统是绿茶科技旗下自主开发的小说系统,可以???支持定制小说网站,小说网站开发,小说网站系统,小说网站源码,小说网站开发建设,小说网站程序,微信小说网站源码,一套小说网站管理系统,完整版小说,付费看小说,小说下载等栏目版块,可以支持定制电脑版+手机版+微信版+小程序版+APP版,由10年的技术团队专业定制,需要的朋友可以联系我们.网站采用:PHP+MySQL+thinkPHP 提供一站式服务:联系QQ:2 3 6 0 2 4 8666(私聊),微信:luenmicro ?电话:131-1

python爬虫—爬取英文名以及正则表达式的介绍

python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中:再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中. 需要写一个爬取英文名链接的函数.将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数.爬取英文名详情页内容的函数. 表5.3.1 函数名

Python爬虫获取图片并下载保存至本地的实例

今天小编就为大家分享一篇Python爬虫获取图片并下载保存在本地的实例,具有很好的参考价值,希望对大家有所帮助.一起来看看吧! 1.抓取煎蛋网上的图片 2.代码如下 * * * import urllib.request import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Geck

第一个小爬虫——下书网下载小说v1

第一个小爬虫,问题较多! import urllib.request import re import os import string import time import random path = os.getcwd() # 获取当前路径 def get_url(): def open_url(url): req = urllib.request.Request(url) req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0;

Python爬虫——爬取网站的图片

爬虫这东西最早出现在我大学计算机网络的课程上面,我们当时的老师人很好,期末不笔试,他说这东西笔试没什么用,对于一个年纪比较大的老师来讲,能提出这种方式,实在难得.当时在考虑做一个与网络有关的东西好,第一个想到的就是爬虫.想想也没想过用Java写过这种东西,所以当时是一般看一本爬虫的书一边敲代码,现在想起来有很多东西是没有想明白的--我当时爬的是刘末鹏的博客,把全部文章用分类爬了下来,在本地可以打开. 后面老师评价的时候就说,你这个只能爬这个,其实你应该让他智能些,让他可以爬图片,可以爬特定的内容

Python爬虫(十一)_案例:使用正则表达式的爬虫

本章将结合先前所学的爬虫和正则表达式知识,做一个简单的爬虫案例,更多内容请参考:Python学习指南 现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了. 下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/article/list_5_1.html 打开之后,不难看出里面一个一个非常有内涵的段子,当你进行翻页的时候,注意url地址的变化: 第一页url: http: //www.neihan8.com/article/list_

[python][爬虫]暴漫gif下载

说明:和上一个下载百度贴吧图片差不多,修改了正则,加入了页码控制 #!/usr/bin/env python #! -*- coding: utf-8 -*- #图片地址样例:src="http://ww2.sinaimg.cn/large/005Yan1vjw1erf95qkbfog307e08uu0y.gif" style="width:460px" import urllib,urllib2 import re #返回网页源代码 def getHtml(url

[python][爬虫]从网页中下载图片

说明:仅为测试下载图片.正则表达式 测试url为钢铁侠贴吧的一个介绍mark各代盔甲帖子 以下代码将第一页的图片全部下载到本程序根目录 #!/usr/bin/env python #! -*- coding: utf-8 -*- import urllib,urllib2 import re #返回网页源代码 def getHtml(url): html = urllib2.urlopen(url) srcCode = html.read() return srcCode def getImg(

Python爬虫: &quot;追新番&quot;网站资源链接爬取

"追新番"网站 追新番网站提供最新的日剧和日影下载地址,更新比较快. 个人比较喜欢看日剧,因此想着通过爬取该网站,做一个资源地图 可以查看网站到底有哪些日剧,并且随时可以下载. 资源地图 爬取的资源地图如下: 在linux系统上通过 ls | grep keywords 可以轻松找到想要的资源(windows直接搜索就行啦) 爬取脚本开发 1. 确定爬取策略 进入多个日剧,可以查看到每个剧的网址都是如下形式: 可以看出,每个日剧网页都对应一个编号. 因此我们可以通过遍历编号来爬取. 2