Python爬虫,批量下载小说网站上的小说!

如何利用Python爬虫爬取小说网站并保存到txt文件 本人特别爱看网络小说,但是呢,有些小说网站的弹窗广告啊、悬浮广告太烦人,正好最近在研究Python,就来试试利用Python把小说站的小说爬下来,并保存到txt文件里。这样就可以直接使用手机打开txt来看了。并且呢,我也能熟悉利用python抓取文本数据的方法。 以爬取靠谱小说网的《伏天氏》这本小说的章节内容为例,目标url:http://www.kpxsw.com/0_479.html 第一步:选取文章列表其中某一章,检查网页,可以找到这本小说所有章节的链接和名称。 写出xpath表达式提取出hr 阅读详情

爬虫脚本把这个小说网上的几乎所有小说都下载到了本地,一共27000+本小说,一共40G。

 

完整代码:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
#coding=utf-8 2 import urllib 3 import urllib2 4 import re 5 import os 6  7 webroot = 'http://www.xuanshu.com' 8  9 for page in range(20,220):10     print '正在下载第'+str(page)+'页小说'11     12     url = 'http://www.xuanshu.com/soft/sort02/index_'+str(page)+'.html'13     headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'  }14     try:15         request = urllib2.Request(url,headers=headers)16         response = urllib2.urlopen(request,timeout=180)17         #print response.read()18     except urllib2.URLError, e:19         if hasattr(e,"code"):20             print e.code21         if hasattr(e,"reason"):22             print e.reason23 24     html = response.read().decode('utf-8')25     #print html26     pattern = re.compile(u'<li>.*?<div class="s">.*?target="_blank">(.*?)</a><br />大小:(.*?)<br>.*?</em><br>更新:(.*?)</div>.*?<a href="(.*?)"><img.*?>(.*?)</a>.*?<div class="u">(.*?)</div>',re.S)27     items = re.findall(pattern,html)28     #print items29 30     for item in items:31         try:32             book_auther = item[0].encode('gbk')33             book_size = item[1].encode('gbk')34             book_updatetime = item[2].encode('gbk')35             book_link = item[3].encode('gbk')36             book_name = item[4].encode('gbk')37             book_note = item[5].encode('gbk')38             39             book_full_link = webroot + book_link    # 构建书的绝对地址40 41             #请求地址42             try:43                 request = urllib2.Request(book_full_link,headers=headers)44                 response = urllib2.urlopen(request,timeout=180)45             except urllib2.URLError, e:46                 if hasattr(e,"code"):47                     print e.code48                 if hasattr(e,"reason"):49                     print e.reason50             html = response.read().decode('utf-8')51             #print html52             pattern = re.compile('<a class="downButton.*?<a class="downButton" href=\'(.*?)\'.*?Txt.*?</a>',re.S)53             down_link = re.findall(pattern,html)54             print book_name55             print down_link56             57             # down txt58             try:59                 request = urllib2.Request(down_link[0].encode('utf-8'),headers=headers)60                 response = urllib2.urlopen(request,timeout=180)61             except urllib2.URLError, e:62                 if hasattr(e,"code"):63                     print e.code64                 if hasattr(e,"reason"):65                     print e.reason66             try:67                 fp = open(book_name+'.txt','w')68             except IOError,e:69                 pattern = re.compile('<strong>.*?>(.*?)<.*?</strong>',re.S)70                 book_name = re.findall(pattern,book_name)71                 fp = open(book_name[0]+'.txt','w')72             print 'start download'73             fp.write(response.read())74             print 'down finish\n'75             fp.close()76         except Exception,e:77             print '该条目解析出现错误,忽略'78             print e79             print ''80             fp = open('error.log','a')81             fp.write('page:'+str(page)+'\n')82             fp.write(item[4].encode('gbk'))83             #fp.write(e)84             fp.write('\nThere is an error in parsing process.\n\n')85             fp.close()

该脚本只定向抓取“选书网”小说站,“玄幻奇幻”分类下的小说。供网友们参考,可自行修改。

写得比较粗糙,勿喷……

python网络爬虫(一) 爬取网站图片 什么是网络爬虫? 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。 爬虫流程 用户获取网络数据的方式: 方式1:浏览器提交请求—>下载... 阅读详情

相关推荐

什么是网络爬虫

又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。

2301_79903190的博客 2486

python爬虫下载小说

python爬虫下载小说

qq_43604221的博客 2184

Python爬虫之爬取小说

(^_−)☆本喵的放松方式是看小说,而且类型不限,属于偏好成谜的那一种。所以从爬取完天气预报开始,我就开始想着爬取小说,编写了一个还不算完善的爬取小说程序,期待你们的完善。 小说来源: 努努书坊:https://www.kanunu8.com/ 山海经:https://www.kanunu8.com/book3/7766/index.html 解析页面源代码: 在页面源...

青柚的博客 1万+

Python爬虫实战——下载小说

Python爬虫实战——下载小说

qq_53381910的博客 1457

python爬虫实例之小说爬取器

今天和大家分享一个爬取盗版小说的实例。 如今的网络小说可谓是百家齐放各领风骚,玄幻科幻穿越修仙都市… 各种套路看得大家是心潮澎湃,笔者曾经也蛮喜欢看小说的,以前经常是拿着一台诺基亚看到深夜,第二天带着黑眼圈去上学。 以前看小说都是txt格式的文件,每次都需要拿着在电脑上搜索‘***txt小说免费下载’,往事不堪回首 学以致用,为了以后下载小说能够超微显得高端一点,今天就给大家分享一个爬取盗版小说...

the_sangzi_home的博客 2985

爬虫:小说下载

1、网络爬虫,推荐一个解析HTML的Python库–Requests-HTML 这个库的用法,可以参考如下网址: https://blog.youkuaiyun.com/anonymous_qsh/article/details/79372524 2、写这个文章的目的,只是为了记录自己学习python爬虫项目所用。如果要看小说,请支持正版 本人学习的地址来源于: https://www.w3cschool.c...

huoyingchong64的博客 3305

python爬虫之批量下载小说

通过使用两次bs4解析数据,拿到标题和内容,保存到本地。

qq_48224700的博客 729

手把手教你用Python网络爬虫实现起点小说下载

通过以上步骤,你应该已经能够使用Python网络爬虫实现起点小说的下载。请记住,在使用爬虫时,务必遵守相关法律法规和网站的使用协议。尊重网站的权益和用户的数据,避免对网站的正常运行造成干扰或侵犯他人的隐私。

这家伙很懒,什么都没有留下 5021

Python爬虫入门学习——网页批量爬取文本

Python爬虫小白入门,文章首先介绍爬虫概念,以及爬虫的合法性问题。基于对网页的HTML编码的初步了解,介绍了两个第三方库,requests和BeautifulSoup库。进而进阶至小说文本的爬取,再深入到爬取小说并规整格式至txt文本,最后引出批量下载各章节的小说文本至文件夹中!......

GIS热爱者 4万+

Python 爬虫项目:爬取小说网站,批量下载 TXT 格式小说章节

本文介绍了使用Python实现小说批量爬取与本地化存储的实战方法。通过requests和BeautifulSoup4技术栈,构建了一个自动化爬取工具,能够识别小说目录、提取章节链接、清洗正文内容并保存为TXT文件。代码采用无框架设计,可直接运行,适用于大多数采用"目录页+正文页"结构的公开小说网站。文章详细说明了爬虫的核心原理、环境配置、代码实现及优化点,同时强调了爬虫的合规性要求。该项目不仅实现了多页面爬虫的技术串联,还提供了文件自动命名、异常处理等生产级功能,并给出了功能扩展建议,适

2503_91057718的博客 1967

小说爬虫,可以爬txt文件多个,单个txt文件和epub文件.zip

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

利用Python网络爬虫下载一本小说

本文详细介绍了如何使用Python网络爬虫下载一本小说,从准备工作到案例实现,再到注意事项与优化,旨在帮助新手朋友理解和掌握网络爬虫的基本技术和应用。通过本文的学习和实践,相信读者已经对网络爬虫有了更深入的了解,并能够根据自己的需求进行扩展和优化。​

Everly_的博客 2641

一个简单python爬虫程序,爬取对应的小说章节全文后,存储到本地个人电脑

网页爬虫,爬取小说文本。 这是一个简单的python爬虫程序,爬取网上的小说全文,然后存储到本地个人电脑中。 目录介绍 code文件夹下是源代码,utils文件夹下是工具包。 使用到的技术库 1.requests 2.beautifulsoup4 ps:使用时,提前下载这两个技术库的依赖。

如何用Python网络爬虫爬取一本小说?

本文详细介绍了如何使用Python网络爬虫下载一本小说,从准备工作到案例实现,再到注意事项与优化,旨在帮助新手朋友理解和掌握网络爬虫的基本技术和应用。通过本文的学习和实践,相信读者已经对网络爬虫有了更深入的了解,并能够根据自己的需求进行扩展和优化。​如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓。

AI大模型资料分享员 2464

深入SVT SPI VIP配置:如何灵活控制CS间隔、数据帧大小与时钟频率(含代码片段)

本文深入探讨了SVT SPI VIP的高级配置技巧,包括精确控制CS信号间隔、突破数据帧大小限制以及动态时钟频率切换。通过实战代码片段和详细配置步骤,帮助验证工程师灵活应对复杂SPI协议验证场景,提升验证效率和覆盖率。特别适合需要处理非标准SPI时序和特殊数据帧的芯片验证项目。

weixin_27014595的博客 280

【Cubietruck】Qt5.8.0 x64、x86、armhf三个版本的编译安装

一、       Preparation 以下环境配置支持虚拟机和实体机,但是实体机生产效率会相对高一点,实体机编译Qt的速度是虚拟机两倍以上。 若使用虚拟机,推荐使用VirtualBox,开源免费,尽量不要使用Vmware破解版。   Download List   名称 链接 下载项目 OS https://mirro

beatfan的博客 3658

基于Python网络爬虫的小说网站数据分析

摘要:本文设计了一个Python网络爬虫程序,用于抓取小说网站的多项信息。该程序通过模拟用户行为(随机User-Agent、访问间隔)实现反爬技术,使用BeautifulSoup和正则表达式解析网页,可获取小说标题、作者、出版信息、简介、封面、价格、评论等数据,并存储为结构化格式(CSV/JSON/Excel)。程序支持深度爬取小说章节内容并进行词频统计,通过递归请求和动态调整访问频率确保爬取稳定性。实现过程包括URL获取、内容解析、数据存储等模块,体现了Python爬虫技术的综合应用。

毕业作品网站 7808

4G LTE 与 5G 无线网络规划对比:从 BBU/RRU 到 CU/DU/AAU 的架构演进解析

本文深度解析4G LTE与5G无线网络架构的演进差异,从BBU/RRU分立式架构到CU/DU/AAU三级重构,揭示移动通信代际跃迁的技术本质。重点对比了网络规划中的覆盖能力、容量规划、传输网络等九大维度,为通信工程师提供实用的技术对照手册,助力5G网络高效部署。

weixin_32821533的博客 287

简单python网络爬虫批量下载视频

简单python网络爬虫批量下载视频

qq_62861466的博客 4629

Kylin系统离线环境下的dpkg依赖包高效部署指南

本文详细介绍了在Kylin系统离线环境下高效部署dpkg依赖包的完整方案,包括预下载依赖包、构建本地APT仓库以及高级故障排查技巧。通过实战经验和优化建议,帮助用户解决依赖地狱问题,提升部署效率,特别适用于银河麒麟V10等内网环境。

weixin_29051245的博客 384

VS Code 重大更新:Agent Skills完美支持!

代码不会骗人,但你的 LLM 可能会编个故事——除非你给它一本《技能手册》。——某位深夜调试成功的 Go 工程师。

weixin_44058951的博客 3458

用Python爬虫下载整本小说

1/ 写在前面的话 /如今网络上很多小说网站都有免费的小说阅读,但是它不提供下载全本的服务,目的也是为了获得更多的流量,资源君就不服了,今天刚好看到一个小说网站,就想...

Kuls 2421

Python学习第1天:初识Python

Python 作为目前最流行的编程语言之一,凭借其简洁优雅的语法和强大的生态系统,成为了无数开发者的首选。本系列文章将带你从零基础入门,逐步掌握 Python 编程的核心技能。今天我们先来认识 Python,并安装好开发环境。Python(英式发音:/ˈpaɪθən/;美式发音:/ˈpaɪθɑːn/)是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户的编程语言。

tigerhhzz的博客 432
上一篇: Python爬虫框架:scrapy爬取知乎数据!
下一篇: 50行Python代码实现视频中物体颜色识别和跟踪!
PythonJavaPHP
博客等级 码龄7年 116粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值