来自论坛用户原创制作分享的一款小说爬取工具,由Python编写,同时附上了源码资源方便大家浏览。笔趣阁小说爬取工具可以免费爬取下载网站小说资源,让您轻松获取想看的小说。使用前请参考相关说明,避免出现错误。
软件简介
笔趣阁小说爬取工具【附源码】可以免费下载笔趣阁小说网的所有内容,只需要找到喜欢的小说目录页链接,在工具操作界面按要求填写,就可以单线程下载每一章内容,并将它们全部汇总为一个文本文件,非常方便。
使用方法
程序运行方法:解压,在本文件夹中找到并打开dist文件夹,有一个“笔趣阁小说下载.exe”,双击运行
1、前往笔趣阁网站,找到要保存的小说,复制那个小说的目录页链接
2、按要求输入链接地址和小说名
3、爬取开始
(因为是单线程运行,爬取速度略慢大概1-2秒一章)
4、爬取结束后,会将所有章节内容整合成一个txt文件
工具源码
import requests
import re
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'
}
#定义全局变量,用于保存所有获取到的小说内容
story_all = []
#获取标题及章节链接地址
def main():
url = input("请输入小说目录页地址(暂时仅支持‘http://www.xbiquge.la/’站内小说):")
book_name = input("请输入小说名称:")
print("-----爬取开始-----")
#获取目录页的HTML文本
text = requests.get(url,header).content.decode('utf-8')
#获取每个章节的章节名
title = re.findall(r'
.*?
(.*?)',text,re.DOTALL)
#获取每个章节的链接地址
loca = re.findall(r"
.*?='(.*?)' >",text,re.DOTALL)
#因为title和loca的长度相同,所以以索引的方式遍历,方便取值
for i in range(len(title)):
content(title,f'http://www.xbiquge.la{loca}')
#小说爬取完毕,开始保存
print("@"*500)
with open(r'%s.txt'%book_name, 'w',encoding='utf-8')as file:
#遍历每一项,按顺序保存章节名和章节内容
for story in story_all:
file.write(story['title']+' ')
print(story['title'])
file.write(story['story'])
#解析章节内容并保存
def content(title,url):
#获取章节页的HTML文本
text = requests.get(url,header).content.decode('utf-8')
#因为之前写过直接爬取所有内容的,爬取出来的文本都带有 不好处理
#所以就一句一句的获取了
story_content = re.findall(r' (.*?)
#因为章节名中有“”空格,没办法作为文件名,所以把空格去掉
title = re.sub(' ','-',title)
#有时候不知道为什么小说内容会爬取到一个空数组,所以这里添加了一个检测程序
#如果爬取到的为空,就重新爬取,直到获取到为止
if story_content==[]:
content(title,url)
return 0
story=""
#前面提到,因为我是一句一句爬取的,所以这里做一下拼接,顺便去空格
for story_contents in story_content:
story = story+story_contents.strip()+' '
#将章节名称和章节内容保存为一个字典
this_story = {
"title":title,
"story":story
}
print(this_story['title'])
#将字典添加到开头定义的全局变量中
story_all.append(this_story)
if __name__ == "__main__":
main()
∨ 展开