成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > python 爬取國內(nèi)小說網(wǎng)站

python 爬取國內(nèi)小說網(wǎng)站

熱門標(biāo)簽:地圖標(biāo)注自己和別人標(biāo)注區(qū)別 孝感營銷電話機(jī)器人效果怎么樣 ai電銷機(jī)器人的優(yōu)勢 商家地圖標(biāo)注海報(bào) 海外網(wǎng)吧地圖標(biāo)注注冊 騰訊地圖標(biāo)注沒法顯示 打電話機(jī)器人營銷 南陽打電話機(jī)器人 聊城語音外呼系統(tǒng)

原理先行

作為一個資深的小說愛好者,國內(nèi)很多小說網(wǎng)站如出一轍,什么 🖊*閣啊等等,大都是 get 請求返回 html 內(nèi)容,而且會有標(biāo)志性的dl>dd>等標(biāo)簽。
所以大概的原理,就是先 get 請求這個網(wǎng)站,然后對獲取的內(nèi)容進(jìn)行清洗,寫進(jìn)文本里面,變成一個 txt,導(dǎo)入手機(jī),方便看小說。

實(shí)踐篇

之前踩過一個坑,一開始我看了幾頁小說,大概小說的內(nèi)容網(wǎng)站是https://www.xxx.com/小說編號/章節(jié)編號.html,一開始看前幾章,我發(fā)現(xiàn)章節(jié)編號是連續(xù)的, 于是我一開始想的就是記住起始章節(jié)編號,然后在循環(huán)的時候章節(jié)編號自增就行,后面發(fā)現(xiàn)草率了,可能看個 100 章之后,章節(jié)列表會出現(xiàn)斷層現(xiàn)象,這個具體為啥 還真不知道,按理說小說編號固定,可以算是一個數(shù)據(jù)表,那里面的章節(jié)編號不就是一個自增 id 就完了嘛?有懂王可以科普一下!
所以這里要先獲取小說的目錄列表,并把目錄列表洗成一個數(shù)組方便我們后期查找!getList.py文件:

定義一個請求書簽的方法

# 請求書簽地址
def req():
    url = "https://www.24kwx.com/book/4/4020/"
    strHtml = requests.get(url)
    return strHtml.text

將獲取到的內(nèi)容提取出(id:唯一值/或第 X 章小說)(name:小說的章節(jié)名稱)(key:小說的章節(jié) id)

# 定義一個章節(jié)對象
class Xs(object):
    def __init__(self,id,key,name):
        self._id = id
        self._key = key
        self._name = name

    @property
    def id(self):
        self._id
    @property
    def key(self):
        self._key
    @property
    def name(self):
        self._name

    def getString(self):
        return 'id:%s,name:%s,key:%s' %(self._id,self._name,self._key)

# 轉(zhuǎn)換成書列表
def tranceList():
    key = 0
    name = ""
    xsList = []
    idrule = r'/4020/(.+?).html'
    keyrule = r'第(.+?)章'
    html = req()
    html = re.split("/dt>",html)[2]
    html = re.split("/dl>",html)[0]
    htmlList = re.split("/dd>",html)
    for i in htmlList:
        i = i.strip()
        if(i):
            # 獲取id
            id = re.findall(idrule,i)[0]
            lsKeyList = re.findall(keyrule,i)
            # 如果有章節(jié)
            if len(lsKeyList) > 0 :
                key = int(lsKeyList[0])
                lsname = re.findall(r'章(.+?)/a>',i)
            else :
                key = key + 1
            # 獲取名字
            # lsname = re.findall(r'.html">(.+?)/a>',i)[0]
            # name = re.sub(',',' ', lsname, flags=re.IGNORECASE)
            name = re.findall(r'.html">(.+?)/a>',i)[0]
            xsobj = Xs(id,key,name)
            xsList.append(xsobj.getString())
    writeList(xsList)

注意一下我:如果你從別的語言轉(zhuǎn) py,第一次寫object對象可能會比較懵,沒錯因?yàn)樗膐bject是一個class,這里我創(chuàng)建的對象就是{id,key,name}但是你寫入 txt 的時候還是要getString,所以后面想想我直接寫個{id:xxx,name:xxx,key:xxx}的字符串不就完了,還弄啥class,后面還是想想給兄弟盟留點(diǎn)看點(diǎn),就留著了

最后寫入 txt 文件

# 寫入到文本
def writeList(list):
    f = open("xsList.txt",'w',encoding='utf-8')
    # 這里不能寫list,要先轉(zhuǎn)字符串 TypeError: write() argument must be str, not list
    f.write('\n'.join(list))
    print('寫入成功')

# 大概寫完的txt是這樣的
id:3798160,name:第1章 孫子,我是你爺爺,key:1
id:3798161,name:第2章 孫子,等等我!,key:2
id:3798162,name:第3章 天上掉下個親爺爺,key:3
id:3798163,name:第4章 超級大客戶,key:4
id:3798164,name:第5章 一張退婚證明,key:5

ok ! Last one
這里已經(jīng)寫好了小說的目錄,那我們就要讀取小說的內(nèi)容,同理

先寫個請求

# 請求內(nèi)容地址
def req(id):
    url = "https://www.24kwx.com/book/4/4020/"+id+".html"
    strHtml = requests.get(url)
    return strHtml.text

讀取我們剛剛保存的目錄

def getList():
    f = open("xsList.txt",'r', encoding='utf-8')
    # 這里按行讀取,讀取完后line是個數(shù)組
    line = f.readlines()
    f.close()
    return line

定義好一個清洗數(shù)據(jù)的規(guī)則

contextRule = r'div class="content">(.+?)script>downByJs();/script>'
titleRule = r'h1>(.+?)/h1>'
def getcontext(objstr):
    xsobj = re.split(",",objstr)
    id = re.split("id:",xsobj[0])[1]
    name = re.split("name:",xsobj[1])[1]
    html = req(id)
    lstitle = re.findall(titleRule,html)
    title = lstitle[0] if len(lstitle) > 0 else name
    context = re.split('div id="content" class="showtxt">',html)[1]
    context = re.split('/div>',context)[0]
    context = re.sub('nbsp;|\r|\n','',context)
    textList = re.split('br />',context)
    textList.insert(0,title)
    for item in textList :
        writeTxt(item)
    print('%s--寫入成功'%(title))

再寫入文件

def writeTxt(txt):
    if txt :
        f = open("nr.txt",'a',encoding="utf-8")
        f.write(txt+'\n')

最后當(dāng)然是串聯(lián)起來啦

def getTxt():
    # 默認(rèn)參數(shù)配置
    startNum = 1261 # 起始章節(jié)
    endNum = 1300 # 結(jié)束章節(jié)
    # 開始主程序
    f = open("nr.txt",'w',encoding='utf-8')
    f.write("")
    if endNum  startNum:
        print('結(jié)束條數(shù)必須大于開始條數(shù)')
        return
    allList = getList()
    needList = allList[startNum-1:endNum]
    for item in needList:
        getcontext(item)
        time.sleep(0.2)
    print("全部爬取完成")

完整代碼

getList.py

import requests
import re

# 請求書簽地址
def req():
    url = "https://www.24kwx.com/book/4/4020/"
    strHtml = requests.get(url)
    return strHtml.text

# 定義一個章節(jié)對象
class Xs(object):
    def __init__(self,id,key,name):
        self._id = id
        self._key = key
        self._name = name

    @property
    def id(self):
        self._id
    @property
    def key(self):
        self._key
    @property
    def name(self):
        self._name

    def getString(self):
        return 'id:%s,name:%s,key:%s' %(self._id,self._name,self._key)

# 轉(zhuǎn)換成書列表
def tranceList():
    key = 0
    name = ""
    xsList = []
    idrule = r'/4020/(.+?).html'
    keyrule = r'第(.+?)章'
    html = req()
    html = re.split("/dt>",html)[2]
    html = re.split("/dl>",html)[0]
    htmlList = re.split("/dd>",html)
    for i in htmlList:
        i = i.strip()
        if(i):
            # 獲取id
            id = re.findall(idrule,i)[0]
            lsKeyList = re.findall(keyrule,i)
            # 如果有章節(jié)
            if len(lsKeyList) > 0 :
                key = int(lsKeyList[0])
                lsname = re.findall(r'章(.+?)/a>',i)
            else :
                key = key + 1
            # 獲取名字
            # lsname = re.findall(r'.html">(.+?)/a>',i)[0]
            # name = re.sub(',',' ', lsname, flags=re.IGNORECASE)
            name = re.findall(r'.html">(.+?)/a>',i)[0]
            xsobj = Xs(id,key,name)
            xsList.append(xsobj.getString())
    writeList(xsList)

# 寫入到文本
def writeList(list):
    f = open("xsList.txt",'w',encoding='utf-8')
    # 這里不能寫list,要先轉(zhuǎn)字符串 TypeError: write() argument must be str, not list
    f.write('\n'.join(list))
    print('寫入成功')


def main():
    tranceList()

if __name__ == '__main__':
    main() 

writeTxt.py

import requests
import re
import time


# 請求內(nèi)容地址
def req(id):
    url = "https://www.24kwx.com/book/4/4020/"+id+".html"
    strHtml = requests.get(url)
    return strHtml.text

def getList():
    f = open("xsList.txt",'r', encoding='utf-8')
    # 這里按行讀取
    line = f.readlines()
    f.close()
    return line

contextRule = r'div class="content">(.+?)script>downByJs();/script>'
titleRule = r'h1>(.+?)/h1>'
def getcontext(objstr):
    xsobj = re.split(",",objstr)
    id = re.split("id:",xsobj[0])[1]
    name = re.split("name:",xsobj[1])[1]
    html = req(id)
    lstitle = re.findall(titleRule,html)
    title = lstitle[0] if len(lstitle) > 0 else name
    context = re.split('div id="content" class="showtxt">',html)[1]
    context = re.split('/div>',context)[0]
    context = re.sub('nbsp;|\r|\n','',context)
    textList = re.split('br />',context)
    textList.insert(0,title)
    for item in textList :
        writeTxt(item)
    print('%s--寫入成功'%(title))

def writeTxt(txt):
    if txt :
        f = open("nr.txt",'a',encoding="utf-8")
        f.write(txt+'\n')

def getTxt():
    # 默認(rèn)參數(shù)配置
    startNum = 1261 # 起始章節(jié)
    endNum = 1300 # 結(jié)束章節(jié)
    # 開始主程序
    f = open("nr.txt",'w',encoding='utf-8')
    f.write("")
    if endNum  startNum:
        print('結(jié)束條數(shù)必須大于開始條數(shù)')
        return
    allList = getList()
    needList = allList[startNum-1:endNum]
    for item in needList:
        getcontext(item)
        time.sleep(0.2)
    print("全部爬取完成")

    
def main():
    getTxt()

if __name__ == "__main__":
    main()

以上就是python 爬取國內(nèi)小說網(wǎng)站的詳細(xì)內(nèi)容,更多關(guān)于python 爬取小說網(wǎng)站的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python爬蟲入門教程02之筆趣閣小說爬取
  • python 爬取小說并下載的示例
  • python爬取”頂點(diǎn)小說網(wǎng)“《純陽劍尊》的示例代碼
  • Python爬取365好書中小說代碼實(shí)例
  • Python實(shí)現(xiàn)的爬取小說爬蟲功能示例
  • Python scrapy爬取起點(diǎn)中文網(wǎng)小說榜單
  • python爬蟲之爬取筆趣閣小說升級版

標(biāo)簽:楊凌 揚(yáng)州 迪慶 牡丹江 南寧 聊城 撫州 六盤水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 爬取國內(nèi)小說網(wǎng)站》,本文關(guān)鍵詞  python,爬取,國內(nèi),小說,網(wǎng)站,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 爬取國內(nèi)小說網(wǎng)站》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 爬取國內(nèi)小說網(wǎng)站的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日本国产在线播放| 国产一区二区三区黄视频| 日韩黄色影视| 国产欧美日韩亚洲一区二区三区| 成人一区二区视频| 亚洲网色网站| 日本韩国一区二区三区视频| xxx欧美精品| 欧美日韩在线精品一区二区三区| 亚洲成人精品女人久久久| 免费大片在线观看www| 国产一区二区三区网站| 国产免费av观看| 久久精品国产在热久久| 午夜精品在线免费观看| 日本成址在线观看| 婷婷六月国产精品久久不卡| 青草热久免费精品视频| 国产强被迫伦姧在线观看无码| 色综合久久精品| 欧美mv和日韩mv国产网站| 久久久久久久中文| 亚洲国产一区二区三区在线观看| 欧美日韩在线一区| 中文字幕不卡在线视频极品| 91福利在线观看视频| jizzjizz丝袜老师| 国产刺激高潮av| 国产亚洲高清在线观看| 亚洲精品7777xxxx青睐| 日韩视频第二页| 亚洲成aⅴ人片久久青草影院| 无码人妻精品一区二区三区不卡| 国产精品麻豆一区二区| 久久久综合av| 欧美成年人视频在线观看| 美女扒开腿让男人桶爽久久软| 少妇精品一区二区| 亚洲国产日韩成人综合天堂| 黄视频在线观看网站| 国产精品白嫩初高中害羞小美女| 色噜噜日韩精品欧美一区二区| 另类欧美视频| 一本久久a久久精品vr综合| 中文字幕人妻丝袜乱一区三区| 毛片中文在线观看| 久久国产精品亚洲va麻豆| 欧美在线影院一区二区| 欧美电视剧在线看免费| 青青影院在线观看| 中文在线第一页| 看黄色免费网站| 日韩精品成人av| 在线观看精品视频| 欧美丝袜足交| 久久综合电影一区| 神马一区二区三区| 国产精品视频一二三四区| 欧美video巨大粗暴18| 久久伊人精品天天| www.欧美激情.com| 黄网站网址视频| 国产精品人人做人人爽| 欧美性猛交xxxx黑人交| 欧美日韩亚洲系列| 欧美一级网站| 欧美一级视频一区二区| 久草免费在线播放| 麻豆国产一区二区三区四区| 中文在线аv在线| 夜夜添无码一区二区三区| 蜜桃av综合| 国产裸舞福利在线视频合集| avtt天堂资源网站| www.黄在线| 四虎1515hh.com| 国产亚洲在线播放| 极品美女一区二区三区视频| 中文字幕第一页在线视频| www.黄色在线观看| 免费人成在线观看播放视频| 精品国产乱码久久久久久蜜柚| 影音av在线| 日日躁天天躁狠狠躁| 国产经典一区二区| 精品国产第一区二区三区观看体验| 一区二区三区四区不卡视频| 精品成人一区二区三区四区| av中文在线| 国产毛片av| 久久久午夜电影| 成人网18免费看| 日日日日影院| 欧美一区免费视频| 国产日韩欧美不卡| 久久久久免费精品国产| 午夜18视频在线观看| 视频污在线观看| 欧美色图久久| 黄色网页在线播放| 欧美日韩午夜爽爽| 成人婷婷网色偷偷亚洲男人的天堂| 午夜精品影视国产一区在线麻豆| 黑人巨大精品欧美一区二区小视频| 大胆国模一区二区三区| 日本一二三四高清不卡| 国产二区三区在线| 午夜亚洲国产au精品一区二区| 欧美久久99| 91精品一区国产高清在线gif| 国产视频一区不卡| 中文字幕中文字幕在线中一区高清| 久久免费电影网| 久久视频一区| av图片在线观看| 免费一级特黄特色毛片久久看| 正在播放91九色| 国产无遮挡裸体视频在线观看| 精品网站在线| 国产精品午夜一区二区| 久久伊人蜜桃av一区二区| 国产电影一区二区在线观看| 污视频网站入口| 精品一区二区三区电影| 欧美成人精品激情在线视频| 成人av色在线观看| 最近最新mv在线观看免费高清| 欧美激情综合在线| 国产88在线观看入口| 在线播放豆国产99亚洲| 欧美一区二区久久久| 性生活视频软件| 68国产成人综合久久精品| 中文字幕一区二区三区四区在线视频| 久久久噜噜噜久噜久久综合| 一区二区视频在线看| 91在线观看免费高清| 久久免费视频色| 国产精品探花在线观看| 中文字幕亚洲精品一区| av直播在线观看| 国产一区二区三区国产精品| 国产91网红主播在线观看| 成人av在线一区二区三区| 你懂的免费视频| h视频在线观看免费| 精品国产一区二区亚洲人成毛片| av网站中文字幕| 精品美女久久久| 亚洲 欧美 中文字幕| 真人做人试看60分钟免费| 久久久国产精品午夜一区ai换脸| 在线播放精品视频| 欧美套图亚洲一区| 日本丰满少妇一区二区三区| 成人av免费电影网站| 欧美污在线观看| 久久久久久久久久久9不雅视频| 国产精品一区专区| 中文字幕一二区| 在线成人直播| 国产成人亚洲综合91| 91av毛片| 无码国产精品一区二区免费式直播| 美女视频在线免费| 日本免费高清一区| 国产精品自拍毛片| 日韩av电影资源网| 国产精品久久久久久久久久久免费看| 久久国内精品一国内精品| 欧美午夜电影一区二区三区| 懂色av中文字幕| 国产亚洲精品久久久优势| 日韩国产中文字幕| 久久国产精品国产精品| 秋霞影院一区二区三区| 依依成人在线| 国产成人强伦免费视频网站| 神马久久高清| 天堂一区二区在线| 国产熟女一区二区丰满| 99riav国产精品| 亚洲午夜精品久久久久久浪潮| 最新av网址在线观看| 在线免费av播放| 久久国产婷婷国产香蕉| 亚洲色图美腿丝袜| 国产精品videossex久久发布| 91欧美日韩一区| 丁香花高清电影在线观看完整版| 电影久久久久久| 国产精品情侣呻吟对白视频| 国产日产一区| 日本激情视频网站| 亚亚洲欧洲精品| 91欧美视频网站| 亚洲成年网站在线观看| 亚洲精品综合一区二区三区| 日韩欧美一区二区视频| 男人的天堂久久| 欧美日韩午夜在线| 3d成人动漫网站| 亚洲视频天天射| 国产无码精品久久久| 自拍偷拍21p| 久久九九有精品国产23| 99re6热在线精品视频播放| 影视先锋av资源站| 黄色免费大片| 2020中文字字幕在线不卡| 亚洲国产精品久久久久久| 国产视频97| 林心如三级全黄裸体| 欧美精品在线网站| 老汉色老汉首页av亚洲| 精品国产免费人成电影在线观...| 国产麻豆一级片| 欧美激情在线有限公司| 国产主播一区| 九九热视频在线观看| 欧美激情xxxx| 2019中文在线观看| 无码人妻一区二区三区一| 婷婷婷国产在线视频| 久久男人av| 成人小视频在线播放| 在线观看亚洲欧美| 久久免费精品国产久精品久久久久| 一色屋免费视频| 久久精品午夜福利| 久久人人爽人人爽人人片| 在线视频日韩一区| 91丨porny丨国产| 青青青国产在线观看| 91淫黄看大片| 午夜精彩视频| 亚洲乱码久久| 福利精品视频在线| 久草视频免费在线观看| 国产精品久久久久久久美男| 久久久www成人免费精品| 国精品人伦一区二区三区蜜桃| 日本国产在线观看| 久久久女人电视剧免费播放下载| 亚洲精品之草原avav久久| 91久久嫩草影院一区二区| 九九色在线观看| 蜜桃视频污在线观看| 亚洲aⅴ日韩av电影在线观看| 自拍偷拍欧美亚洲| 中文字幕1区2区3区| 欧美一区二区三区爱爱| 欧美精品在线观看一区二区| 亚洲午夜免费福利视频| 精品美女久久| 精品国产一区二区三区四区| 九九九久久国产免费| 亚洲天堂手机在线| 国产专区在线视频| 秋霞影院一区二区| 牛人盗摄一区二区三区视频| 色欧美激情视频在线| 欧美日本一区二区三区四区| 精品国产99久久久久久| 欧美一级二级三级乱码| 男人和女人啪啪网站| 日韩国产欧美一区| 麻豆国产精品| 777奇米888色狠狠俺也去| 亚洲 欧美 另类人妖| 蜜臀精品久久久久久蜜臀| 日韩三级视频在线播放| 亚洲欧美视频一区二区三区| 精品国产91洋老外米糕| theav精尽人亡av| 国产黄色录像片| 可以免费看的黄色网址| 亚洲午夜电影在线观看| 亚洲私拍视频| 黄色一级视频免费观看| 国内精品国产三级国产a久久| 一本岛在线视频| 欧美群妇大交群的观看方式| 亚洲久色影视| 欧洲精品在线一区| 男男一级淫片免费播放| 国产精品99导航| 97秋霞电影网| 欧美在线免费观看视频| 视频二区在线观看| 进去里视频在线观看| 精品国产一区二区亚洲人成毛片| 欧美精品一区二区蜜臀亚洲| 久久精品99国产精品| 欧美主播一区二区三区美女| 亚洲午夜天堂| 欧美成人做性视频在线播放| 波多野结衣电影免费观看| 亚洲日本在线观看| 丰满人妻一区二区三区四区| 欧美日韩三区四区| 99精品在免费线中文字幕网站一区| 18性欧美xxxⅹ性满足| 99国产牛牛视频在线网站| 亚洲欧美偷拍另类| 国产一级片在线播放| 国产精品福利视频一区二区三区| 中文字幕在线观看免费视频| 亚洲精品观看| 久久99精品久久久久久秒播放器| 欧美白人最猛性xxxxx| 亚洲网一区二区三区| 2018中文字幕第一页| 国产免费永久在线观看| 欧美日韩一区在线播放| 欧美a大片欧美片| 夜夜夜操操操| 手机看片福利视频| 3d蒂法精品啪啪一区二区免费| 尤物yw午夜国产精品视频| h网在线观看| 黄色污污视频在线观看| 日韩欧美在线观看一区二区三区| av一区二区在线观看| 91精品国产自产拍在线观看蜜| 一级黄色片国产| 欧洲国产伦久久久久久久| 一级精品视频在线观看宜春院|