下载工具›› 笔趣阁小说爬取工具

笔趣阁小说爬取工具

笔趣阁小说爬取工具 绿色版(附源码)

大小:15.4 MB

语言:简体中文系统:WinAll, Win7, Win10

类别:下载工具时间:2022-12-27 17:33

小说爬取工具附源码
  • 笔趣阁小说爬取工具
  • 笔趣阁小说爬取工具

来自论坛用户原创制作分享的一款小说爬取工具,由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()

∨ 展开

同类推荐

相关下载

猜你喜欢

相关文章

热门推荐

下载排行

网友评论

我要跟帖
取消
查看所有评论 共 0