笔趣阁小说爬取工具【附源码】,来自论坛用户原创制作分享的一款小说爬取工具,由Python编写,同时附上了源码资源方便大家浏览。笔趣阁小说爬取工具可以免费爬取下载网站小说资源,让您轻松获取想看的小说。使用前请参考相关说明,避免出现错误。
笔趣阁小说爬取工具使用
程序运行方法:解压,在本文件夹中找到并打开dist文件夹,有一个“笔趣阁小说下载.exe”,双击运行
1、前往http://www.xbiquge.la/,找到要保存的小说,复制那个小说的目录页链接
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'<dd>.*?<a.*?>(.*?)</a>',text,re.DOTALL)
#获取每个章节的链接地址
loca = re.findall(r"<dd>.*?='(.*?)' >",text,re.DOTALL)
#因为title和loca的长度相同,所以以索引的方式遍历,方便取值
for i in range(len(title)):
content(title[i],f'http://www.xbiquge.la{loca[i]}')
#小说爬取完毕,开始保存
print("@"*500)
with open(r'%s.txt'%book_name, 'w',encoding='utf-8')as file:
#遍历每一项,按顺序保存章节名和章节内容
for story in story_all:
file.write(story['title']+'\n')
print(story['title'])
file.write(story['story'])
#解析章节内容并保存
def content(title,url):
#获取章节页的HTML文本
text = requests.get(url,header).content.decode('utf-8')
#因为之前写过直接爬取所有内容的,爬取出来的文本都带有\r不好处理
#所以就一句一句的获取了
story_content = re.findall(r' (.*?)<br',text,re.DOTALL)
#因为章节名中有“”空格,没办法作为文件名,所以把空格去掉
title = re.sub(' ','-',title)
#有时候不知道为什么小说内容会爬取到一个空数组,所以这里添加了一个检测程序
#如果爬取到的为空,就重新爬取,直到获取到为止
if story_content==[]:
content(title,url)
return 0
story=""
#前面提到,因为我是一句一句爬取的,所以这里做一下拼接,顺便去空格
for story_contents in story_content:
story = story+story_contents.strip()+'\n'
#将章节名称和章节内容保存为一个字典
this_story = {
"title":title,
"story":story
}
print(this_story['title'])
#将字典添加到开头定义的全局变量中
story_all.append(this_story)
if __name__ == "__main__":
main()