溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

爬蟲到百度貼吧,爬取自己的小說

發(fā)布時間:2020-06-16 18:29:00 來源:網絡 閱讀:667 作者:theluman 欄目:開發(fā)技術

最近在微信里看了一個小說叫《陰陽代理人》的,看到一半,發(fā)現斷了,作者說把后面的部分放到了百度貼吧,去了貼吧發(fā)現,文章看起來比較費勁,亂糟糟的,所以為了我的小說,弄個了爬蟲,去給我弄下來。

#!/user/bin/env python
# -*- coding:utf-8 -*-
import urllib2
import urllib
import re

#小說章節(jié)類
class ZHANGJIE:
    #初始化傳入地址
    def __init__(self,zjUrl,Num):
        self.zjUrl = zjUrl    
        self.Num = Num    
    
    #傳入頁碼,獲得網頁源代碼,只看精品
    def getPage(self):
        url = self.zjUrl + str(self.Num)
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        return response.read()

    #獲取每章鏈接資源
    def getNum(self):
        webcon = self.getPage()
        Num = re.findall('<a href="/p/(\d+)"',webcon)
        global Num_r
        Num_r = Num[::-1]
        return Num_r

#每題內容類
class NEIRONG:
    #初始化,傳入地址
    def __init__(self,nrUrl,Num):
        self.nrUrl = nrUrl
        self.Num = Num

    #傳入資源頁碼,獲得網頁源代碼,只看樓主
    def getPage(self):
        url = self.nrUrl + str(self.Num) + '?see_lz=1'
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        return response.read()
        
    #獲取小說章節(jié)和標題
    def getTitle(self):
        webcon = self.getPage()
        title = re.search('>(.*)</h2>',webcon).group(1)
        return title

    #獲得小說內容并打印換行
    def getCon(self):
        webcon = self.getPage()
        try:
            con = re.search('支持蘭大,一定要記得投票哦!推薦票!(.*)(</div><br>)',webcon).group(1)
            con_n = re.sub('<br>','\n',con)
            return con_n
        except AttributeError:
            return '廣告內容,已經忽略'

    #寫入文件
    def writeDate(self):
        con_t = self.getTitle()
        con_n = self.getCon()
        try:
            with open('/tmp/yydlr.txt','a') as f:
                f.write('\n')
                f.write('\n')
                f.write(con_t)
                f.write(con_n)
        except IOError:
            print '寫入異常' 

for i in range(3050,1650,-50):
    ZJ = ZHANGJIE('http://tieba.baidu.com/f/good?kw=%E9%98%B4%E9%98%B3%E4%BB%A3%E7%90%86%E4%BA%BA&ie=utf-8&cid=0&pn=',i)
    ZJ.getNum()
    for i in Num_r:
        NR = NEIRONG('http://tieba.baidu.com/p/',i)
        NR.writeDate()
print '小說已經準備好啦'


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI