還有4天就世界盃了,做爲一個資深(僞)球迷,必需要實時關注世界盃相關新聞,瞭解各個球隊動態,這樣才能在一堆球迷中如(大)魚(吹)得(特)水(吹),迎接你們仰慕的目光!html
給你們分享一個快速瞭解相關信息的辦法:刷論壇!咱們來一塊兒作個虎撲論壇的爬蟲吧!python
先來觀察下網頁,打開論壇首頁,選擇國際足球json
而後往下拉,找到世界盃相關內容工具
這裏就是咱們的目標了,全部相關的新聞都會在這裏顯示,用F12打開「開發者工具」而後往下瀏覽看看數據包學習
注意箭頭指向的那幾個地方!編碼
這就是剛纔瀏覽的新聞所在的json包,來看看具體數據是什麼url
ok,標題、地址、發佈時間包括來源都已經出現了!咱們能夠直接抓取json數據而後取出相關內容!code
再進入具體新聞頁面看看xml
全部的文本內容,都在htm
這個標籤下的
標籤內,咱們能夠用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('\n'+'內容:'+'\n'*2,datas,'\n') #可由用戶手動退出循環 if input('任意鍵繼續,「q」退出') in ['q', 'Q']: exit()
如今咱們能夠快樂的刷刷論壇,積累最新資訊,秒殺一切擋在咱們前(裝)進(B)道路上的渣渣吧~!
歡迎你們關注,私信我一塊兒學習,一塊兒看球!