笔趣阁小说爬取软件下载-笔趣阁小说爬取工具【附源码】Python版下载

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

大小:15.3MB 时间:2020-09-12

语言:简体中文 环境:Win All

简介

笔趣阁小说爬取工具【附源码】,来自论坛用户原创制作分享的一款小说爬取工具,由Python编写,同时附上了源码资源方便大家浏览。笔趣阁小说爬取工具可以免费爬取下载网站小说资源,让您轻松获取想看的小说。使用前请参考相关说明,避免出现错误。

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

笔趣阁小说爬取工具使用

程序运行方法:解压,在本文件夹中找到并打开dist文件夹,有一个“笔趣阁小说下载.exe”,双击运行

1、前往http://www.xbiquge.la/,找到要保存的小说,复制那个小说的目录页链接

2、按要求输入链接地址和小说名

3、爬取开始

(因为是单线程运行,爬取速度略慢大概1-2秒一章)

4、爬取结束后,会将所有章节内容整合成一个txt文件

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

笔趣阁小说爬取工具源码

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

厂商名称:

官网:

笔趣阁小说 爬取 源码

推荐下载

特色标签

精彩合集,奇葩无下限 更多

相关文章