世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

雲飛學程式設計發表於2018-06-10

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

還有4天就世界盃了,作為一個資深(偽)球迷,必須要實時關注世界盃相關新聞,瞭解各個球隊動態,這樣才能在一堆球迷中如(大)魚(吹)得(特)水(吹),迎接大家仰慕的目光!

給大家分享一個快速瞭解相關資訊的辦法:刷論壇!我們來一起做個虎撲論壇的爬蟲吧!

抓包獲取虎撲論壇相關帖子內容,逐條顯示!

先來觀察下網頁,開啟論壇首頁,選擇國際足球

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

然後往下拉,找到世界盃相關內容

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

這裡就是我們的目標了,所有相關的新聞都會在這裡顯示,用F12開啟“開發者工具”然後往下瀏覽看看資料包

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

注意箭頭指向的那幾個地方!

這就是剛才瀏覽的新聞所在的json包,來看看具體資料是什麼

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

ok,標題、地址、釋出時間包括來源都已經出現了!我們可以直接抓取json資料然後取出相關內容!

再進入具體新聞頁面看看

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

所有的文字內容,都在

這個標籤下的

標籤內,我們可以用xpath直接取div下的所有文字內容!

這裡就不一 一說明了,直接上程式碼,並錄個小的GIF圖片給大家看看效果

#@author Q群542110741
# -*- coding:utf-8 -*-
import requests
from lxml import etree

header = {
    `User-Agent`:`Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0`,
    `Host`:`soccer.hupu.com`,
    `Referer`:`https://soccer.hupu.com/`}
i = 0
while 1:
    #構建迴圈頁面翻頁
    url = `https://soccer.hupu.com/home/latest-news?league=世界盃&page=`
    i += 1
    #獲取json資料,一頁20個
    html = requests.get(url+str(i),headers=header).json()[`result`]
    for info in html:
        time_r = info[`time`]#釋出時間
        title = info[`title`]#標題
        url_r = info[`url`]#新聞連結
        origin = info[`origin`]#來源
        print(title)
        print(`釋出時間:`,time_r,` `*5,`來自:`,origin)
        head = header
        head[`Host`] = `voice.hupu.com`#更改header中Host引數
        html_r = requests.get(url_r,headers=head)#獲取新聞詳情
        html_r.encoding = `utf-8`#編碼格式指定
        #獲取div下的所有文字
        datas = etree.HTML(html_r.text).xpath(`//div[@class="artical-content-read"]`)[0].xpath(`string(.)`).strip()
        print(`
`+`內容:`+`
`*2,datas,`
`)
        #可由使用者手動退出迴圈
        if input(`任意鍵繼續,“q”退出`) in [`q`, `Q`]:
            exit()

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

現在我們可以快樂的刷刷論壇,積累最新資訊,秒殺一切擋在我們前(裝)進(B)道路上的渣渣吧~!

世界盃快到了,看我用Python爬蟲實現(偽)球迷速成!

歡迎大家關注,私信我一起學習,一起看球!


相關文章