這篇文章主要介紹python爬蟲怎么爬取微博熱搜,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了呼和浩特免費建站歡迎大家使用!
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
第一步:導(dǎo)入爬蟲常用的requests,用處是對中文進行url編碼。
import re import time import requests # url編碼和解碼 from urllib import parse
第二步:設(shè)置url地址,模擬瀏覽器(這一步可以不用)防止被認出是爬蟲程序。
###網(wǎng)址 url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6" ###模擬瀏覽器,這個請求頭windows下都能用 header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
第三步:利用req uests庫的get()和lxml的etr ee()來獲 取網(wǎng)頁代碼
###獲取html頁面 html=etree.HTML(requests.get(url,headers=header).text)
第四步:定義函數(shù),用來爬取某一條熱搜,第二行是合成selector用的,后四行 if else 是用來對齊輸出的
def OneHot(i): findhot = '#pl_top_realtimehot > table > tbody > tr:nth-child('+str(i)+') > td.td-02 > a' hot = r.html.find(str(findhot),first = True) if(i<=10): print(str(i-1)+' '+hot.text) else: print(str(i-1)+' '+hot.text)
第五步:爬取熱搜
for i in range(1,52): OneHot(i)
以上是“python爬蟲怎么爬取微博熱搜”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!