西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專(zhuān)題合集

筆趣閣小說(shuō)爬取工具【附源碼】

Python版
  • 筆趣閣小說(shuō)爬取工具【附源碼】Python版
  • 軟件大小:15M
  • 更新時(shí)間:2020-09-11 08:32
  • 軟件語(yǔ)言:中文
  • 軟件廠(chǎng)商:
  • 軟件類(lèi)別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 下載工具
  • 軟件等級(jí):3級(jí)
  • 應(yīng)用平臺(tái):WinXP, Win7, win8
  • 官方網(wǎng)站:暫無(wú)
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

筆趣閣小說(shuō)爬取工具【附源碼】,來(lái)自論壇用戶(hù)原創(chuàng)制作分享的一款小說(shuō)爬取工具,由Python編寫(xiě),同時(shí)附上了源碼資源方便大家瀏覽。筆趣閣小說(shuō)爬取工具可以免費(fèi)爬取下載網(wǎng)站小說(shuō)資源,讓您輕松獲取想看的小說(shuō)。使用前請(qǐng)參考相關(guān)說(shuō)明,避免出現(xiàn)錯(cuò)誤。

筆趣閣小說(shuō)爬取工具【附源碼】

筆趣閣小說(shuō)爬取工具使用

程序運(yùn)行方法:解壓,在本文件夾中找到并打開(kāi)dist文件夾,有一個(gè)“筆趣閣小說(shuō)下載.exe”,雙擊運(yùn)行

1、前往http://www.xbiquge.la/,找到要保存的小說(shuō),復(fù)制那個(gè)小說(shuō)的目錄頁(yè)鏈接

2、按要求輸入鏈接地址和小說(shuō)名

3、爬取開(kāi)始

(因?yàn)槭菃尉(xiàn)程運(yùn)行,爬取速度略慢大概1-2秒一章)

4、爬取結(jié)束后,會(huì)將所有章節(jié)內(nèi)容整合成一個(gè)txt文件

筆趣閣小說(shuō)爬取工具源碼

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'

}

#定義全局變量,用于保存所有獲取到的小說(shuō)內(nèi)容

story_all = []

#獲取標(biāo)題及章節(jié)鏈接地址

def main():

    url = input("請(qǐng)輸入小說(shuō)目錄頁(yè)地址(暫時(shí)僅支持‘http://www.xbiquge.la/’站內(nèi)小說(shuō)):")

    book_name = input("請(qǐng)輸入小說(shuō)名稱(chēng):")

    print("-----爬取開(kāi)始-----")

    #獲取目錄頁(yè)的HTML文本

    text = requests.get(url,header).content.decode('utf-8')

    #獲取每個(gè)章節(jié)的章節(jié)名

    title = re.findall(r'<dd>.*?<a.*?>(.*?)</a>',text,re.DOTALL)

    #獲取每個(gè)章節(jié)的鏈接地址

    loca = re.findall(r"<dd>.*?='(.*?)' >",text,re.DOTALL)

    #因?yàn)閠itle和loca的長(zhǎng)度相同,所以以索引的方式遍歷,方便取值

    for i in range(len(title)):

        content(title[i],f'http://www.xbiquge.la{loca[i]}')

    #小說(shuō)爬取完畢,開(kāi)始保存

    print("@"*500)

    with open(r'%s.txt'%book_name, 'w',encoding='utf-8')as file:

        #遍歷每一項(xiàng),按順序保存章節(jié)名和章節(jié)內(nèi)容

        for story in story_all:

            file.write(story['title']+'\n')

            print(story['title'])

            file.write(story['story'])

#解析章節(jié)內(nèi)容并保存

def content(title,url):

    #獲取章節(jié)頁(yè)的HTML文本

    text = requests.get(url,header).content.decode('utf-8')

    #因?yàn)橹皩?xiě)過(guò)直接爬取所有內(nèi)容的,爬取出來(lái)的文本都帶有\(zhòng)r不好處理

    #所以就一句一句的獲取了

    story_content = re.findall(r'    (.*?)<br',text,re.DOTALL)

    #因?yàn)檎鹿?jié)名中有“”空格,沒(méi)辦法作為文件名,所以把空格去掉

    title = re.sub(' ','-',title)

    #有時(shí)候不知道為什么小說(shuō)內(nèi)容會(huì)爬取到一個(gè)空數(shù)組,所以這里添加了一個(gè)檢測(cè)程序

    #如果爬取到的為空,就重新爬取,直到獲取到為止

    if story_content==[]:

        content(title,url)

        return 0

    story=""

    #前面提到,因?yàn)槲沂且痪湟痪渑廊〉模赃@里做一下拼接,順便去空格

    for story_contents in story_content:

        story = story+story_contents.strip()+'\n'

    #將章節(jié)名稱(chēng)和章節(jié)內(nèi)容保存為一個(gè)字典

    this_story = {

        "title":title,

        "story":story

    }

    print(this_story['title'])

    #將字典添加到開(kāi)頭定義的全局變量中

    story_all.append(this_story)

if __name__ == "__main__":

    main()

其他版本下載

發(fā)表評(píng)論

昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載