還有4天就世界杯了,作為一個(gè)資深(偽)球迷,必須要實(shí)時(shí)關(guān)注世界杯相關(guān)新聞,了解各個(gè)球隊(duì)動(dòng)態(tài),這樣才能在一堆球迷中如(大)魚(yú)(吹)得(特)水(吹),迎接大家仰慕的目光!
給大家分享一個(gè)快速了解相關(guān)信息的辦法:刷論壇!我們來(lái)一起做個(gè)虎撲論壇的爬蟲(chóng)吧!
抓包獲取虎撲論壇相關(guān)帖子內(nèi)容,逐條顯示!
先來(lái)觀察下網(wǎng)頁(yè),打開(kāi)論壇首頁(yè),選擇國(guó)際足球
然后往下拉,找到世界杯相關(guān)內(nèi)容
這里就是我們的目標(biāo)了,所有相關(guān)的新聞都會(huì)在這里顯示,用F12打開(kāi)“開(kāi)發(fā)者工具”然后往下瀏覽看看數(shù)據(jù)包
注意箭頭指向的那幾個(gè)地方!
這就是剛才瀏覽的新聞所在的json包,來(lái)看看具體數(shù)據(jù)是什么
ok,標(biāo)題、地址、發(fā)布時(shí)間包括來(lái)源都已經(jīng)出現(xiàn)了!我們可以直接抓取json數(shù)據(jù)然后取出相關(guān)內(nèi)容!
再進(jìn)入具體新聞頁(yè)面看看
所有的文本內(nèi)容,都在
這個(gè)標(biāo)簽下的
標(biāo)簽內(nèi),我們可以用xpath直接取div下的所有文本內(nèi)容!
這里就不一 一說(shuō)明了,直接上代碼,并錄個(gè)小的GIF圖片給大家看看效果
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 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('發(fā)布時(shí)間:',time_r,' '*5,'來(lái)自:',origin)
head = header
head['Host'] = 'voice.hupu.com' html_r = requests.get(url_r,headers=head) html_r.encoding = 'utf-8' datas = etree.HTML(html_r.text).xpath('//div[@class="artical-content-read"]')[0].xpath('string(.)').strip()
print('\n'+'內(nèi)容:'+'\n'*2,datas,'\n') if input('任意鍵繼續(xù),“q”退出') in ['q', 'Q']:
exit()
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
藍(lán)藍(lán)設(shè)計(jì)( www.363858.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)