小編給大家分享一下Python爬蟲如何實現球迷速成,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
還有4天就世界杯了,作為一個資深(偽)球迷,必須要實時關注世界杯相關新聞,了解各個球隊動態,這樣才能在一堆球迷中如(大)魚(吹)得(特)水(吹),迎接大家仰慕的目光!
給大家分享一個快速了解相關信息的辦法:刷論壇!我們來一起做個虎撲論壇的爬蟲吧!
抓包獲取虎撲論壇相關帖子內容,逐條顯示!
先來觀察下網頁,打開論壇首頁,選擇國際足球
然后往下拉,找到世界杯相關內容
這里就是我們的目標了,所有相關的新聞都會在這里顯示,用F12打開“開發者工具”然后往下瀏覽看看數據包
注意箭頭指向的那幾個地方!
這就是剛才瀏覽的新聞所在的json包,來看看具體數據是什么
ok,標題、地址、發布時間包括來源都已經出現了!我們可以直接抓取json數據然后取出相關內容!
再進入具體新聞頁面看看
世界杯快到了,看我用Python爬蟲實現(偽)球迷速成!
所有的文本內容,都在<div class="artical-main-content">
這個標簽下的<p></p>標簽內,我們可以用xpath直接取div下的所有文本內容!
這里就不一 一說明了,直接上代碼,并錄個小的GIF圖片給大家看看效果
#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()
以上是“Python爬蟲如何實現球迷速成”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。