python 小说下载工具_笔趣阁小说爬取工具【附源码】下载Python版

笔趣阁小说爬取工具【附源码】,来自论坛用户原创制作分享的一款小说爬取工具,由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'

.*?(.*?)',text,re.DOTALL)

#获取每个章节的链接地址

loca = re.findall(r"

.*?='(.*?)' >",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'    (.*?)

#因为章节名中有“”空格,没办法作为文件名,所以把空格去掉

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()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值