亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python網(wǎng)絡(luò)爬蟲之爬取微博熱搜

 更新時(shí)間:2019年04月18日 10:46:41   作者:Huan_Yang  
這篇文章主要介紹了Python網(wǎng)絡(luò)爬蟲之爬取微博熱搜的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

微博熱搜的爬取較為簡(jiǎn)單,我只是用了lxml和requests兩個(gè)庫(kù)

url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6

1.分析網(wǎng)頁(yè)的源代碼:右鍵--查看網(wǎng)頁(yè)源代碼.

從網(wǎng)頁(yè)代碼中可以獲取到信息

(1)熱搜的名字都在<td class="td-02">的子節(jié)點(diǎn)<a>里

(2)熱搜的排名都在<td class=td-01 ranktop>的里(注意置頂微博是沒有排名的!)

(3)熱搜的訪問量都在<td class="td-02">的子節(jié)點(diǎn)<span>里

2.requests獲取網(wǎng)頁(yè)

(1)先設(shè)置url地址,然后模擬瀏覽器(這一步可以不用)防止被認(rèn)出是爬蟲程序。

###網(wǎng)址
url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
###模擬瀏覽器,這個(gè)請(qǐng)求頭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'}

(2)利用req uests庫(kù)的get()和lxml的etr ee()來獲 取網(wǎng)頁(yè)代碼

###獲取html頁(yè)面
  html=etree.HTML(requests.get(url,headers=header).text)

3.構(gòu)造xpath路徑

上面第一步中三個(gè)xath路徑分別是:

affair=html.xpath('//td[@class="td-02"]/a/text()')
rank=html.xpath('//td[@class="td-01 ranktop"]/text()')
view=html.xpath('//td[@class="td-02"]/span/text()')

  xpath的返回結(jié)果是列表,所以affair、rank、view都是字符串列表

  4.格式化輸出

  需要注意的是affair中多了一個(gè)置頂熱搜,我們先將他分離出來。

top=affair[0]
affair=affair[1:]

這里利用了python的切片。

 print('{0:<10}\t{1:<40}'.format("top",top))
  for i in range(0, len(affair)):
    print("{0:<10}\t{1:{3}<30}\t{2:{3}>20}".format(rank[i],affair[i],view[i],chr(12288)))

這里還是沒能做到完全對(duì)齊。。。

 5.全部代碼

###導(dǎo)入模塊
import requests
from lxml import etree
###網(wǎng)址
url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
###模擬瀏覽器
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'}
###主函數(shù)
def main():
  ###獲取html頁(yè)面
  html=etree.HTML(requests.get(url,headers=header).text)
  rank=html.xpath('//td[@class="td-01 ranktop"]/text()')
  affair=html.xpath('//td[@class="td-02"]/a/text()')
  view = html.xpath('//td[@class="td-02"]/span/text()')
  top=affair[0]
  affair=affair[1:]
  print('{0:<10}\t{1:<40}'.format("top",top))
  for i in range(0, len(affair)):
    print("{0:<10}\t{1:{3}<30}\t{2:{3}>20}".format(rank[i],affair[i],view[i],chr(12288)))
main()

結(jié)果展示:

總結(jié)

以上所述是小編給大家介紹的Python網(wǎng)絡(luò)爬蟲之爬取微博熱搜,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論