python 爬取糗事百科

抓取糗事百科的笑話哈哈

#面向過程版本
import requests
import re
from bs4 import BeautifulSoup


def getHTMLText(url):
    try:
        headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'}
        r=requests.get(url,timeout=30,headers=headers)
        r.raise_for_status()
        r.encoding='utf-8'
        return r.text
    except:
        raise

def parseHTML(ilt,html):
    soup=BeautifulSoup(html,'html.parser')
    articleDiv=soup.find_all('div',attrs={'class':'article block untagged mb15'})
    for item in articleDiv:
        try:    
            title=item.h2.string
            article=item.span.get_text()
            joy=item.find('span',attrs={'class':'stats-vote'}).get_text()
            comment=item.find('a',attrs={'class':'qiushi_comments'}).get_text()
            ilt.append([title,article,joy,comment])
        except:
            continue
        

def printArticle(ilt):
    pattern=u'{0}\n{1}\n{2}{3}\n\n'   #將編碼設(shè)置為Unicode編碼,好像很好使
    for every in ilt:
        print(pattern.format(every[0],every[1],every[2],every[3]))
        with open('joke.txt','a',encoding='utf-8') as f:
            f.write(every[1]+'\n'*2)

def main():
    start_url='http://www.qiushibaike.com/hot/page/'
    pageNumber=1
    url=start_url+str(pageNumber)
    html=getHTMLText(url)
    #print(html)
    ilt=[]
    parseHTML(ilt,html)
    printArticle(ilt)

main()



#用類和實例來做
import re
import requests
from bs4 import BeautifulSoup

class QSBK(object):

    def __init__(self):
        self.pageNumber=2
        self.start_url='http://www.qiushibaike.com/hot/page/'
        self.url=self.start_url+str(self.pageNumber)
        self.ilt=[]
        self.headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'}

    def getHTMLText(self):
        try:
            r=requests.get(self.url,timeout=20,headers=self.headers)
            r.raise_for_status()
            r.encoding='utf-8'
            return r.text
        except:
            return 'ERROR'

    def parsePage(self):
        soup=BeautifulSoup(self.getHTMLText(),'html.parser')
        articleDiv=soup.find_all('div',attrs={'class':'article block untagged mb15'})
        for item in articleDiv:
            try:    
                title=item.h2.string
                article=item.span.get_text()
                joy=item.find('span',attrs={'class':'stats-vote'}).get_text()
                comment=item.find('a',attrs={'class':'qiushi_comments'}).get_text()
                self.ilt.append([title,article,joy,comment])
            except:
                continue

    def printJoke(self):
        pattern=u'{0}\n{1}\n{2}{3}\n\n'   #將編碼設(shè)置為Unicode編碼钟哥,好像很好使
        for every in self.ilt:
            print(pattern.format(every[0],every[1],every[2],every[3]))
            with open('joke.txt','a',encoding='utf-8') as f:
                f.write(every[1]+'\n'*2)

spider=QSBK()
spider.getHTMLText()
spider.parsePage()
spider.printJoke()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唠叛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子灿渴,更是在濱河造成了極大的恐慌洛波,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骚露,死亡現(xiàn)場離奇詭異蹬挤,居然都是意外死亡,警方通過查閱死者的電腦和手機棘幸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門焰扳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人误续,你說我怎么就攤上這事吨悍。” “怎么了蹋嵌?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵育瓜,是天一觀的道長。 經(jīng)常有香客問我栽烂,道長躏仇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任腺办,我火速辦了婚禮焰手,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘菇晃。我一直安慰自己册倒,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布磺送。 她就那樣靜靜地躺著驻子,像睡著了一般。 火紅的嫁衣襯著肌膚如雪估灿。 梳的紋絲不亂的頭發(fā)上崇呵,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機與錄音馅袁,去河邊找鬼域慷。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的犹褒。 我是一名探鬼主播抵窒,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叠骑!你這毒婦竟也來了李皇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤宙枷,失蹤者是張志新(化名)和其女友劉穎掉房,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慰丛,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡卓囚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诅病。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哪亿。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贤笆,靈堂內(nèi)的尸體忽然破棺而出锣夹,到底是詐尸還是另有隱情,我是刑警寧澤苏潜,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站变勇,受9級特大地震影響恤左,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜搀绣,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一飞袋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧链患,春花似錦巧鸭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贸毕,卻和暖如春郑叠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背明棍。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工乡革, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓沸版,卻偏偏與公主長得像嘁傀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子视粮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 以前一直想學(xué)的爬蟲细办,這兩天閑來,終于有所眉目 環(huán)境是jupyter和spyder 用的python3.5 先上代碼...
    志明S閱讀 711評論 0 0
  • 最近在學(xué)習(xí)python爬蟲馒铃,看到了崔大神的博客蟹腾,由于他使用的python2.x,于是自己就想用python3實現(xiàn)一...
    xieys閱讀 644評論 0 1
  • 主要功能 代碼 結(jié)果 擴展 封裝成一個爬取糗事百科段子的類 原理: 使用self.stories裝入每頁的段子數(shù)組...
    幻想無極閱讀 765評論 0 0
  • 利用python寫一個爬蟲区宇,爬取百度百科的某一個詞條下面的全部鏈接和每一個鏈接內(nèi)部的詞條主題和摘要娃殖。利用reque...
    DayDayUpppppp閱讀 3,985評論 0 1
  • 【今日檢視 】 今日三只青蛙 1.兩份教練反饋表 2. 一個一對一教練 3.邏輯理解層次探討 明日三只青蛙 1.兩...
    特舒閱讀 167評論 0 0