Python獲取百度熱搜的完整代碼
好久沒寫瞭,就把上課做的一個小東西拿出來分享一下吧。
百度網頁截圖如下 ↓↓↓
程序運行輸出結果截圖 ↓↓↓
上代碼 ↓↓↓
from lxml import etree from lxml import html import requests headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36'} page = requests.get("https://www.baidu.com",headers=headers) html = page.text #print(source1) # 從字符串解析 element = etree.HTML(html) # 元素列表,獲取的方式列出瞭如下兩種 # ps = element.xpath('//*[@id="hotsearch-content-wrapper"]/li/a/span[2]') ps = element.xpath('//*[@class="title-content-title"]') #熱搜文本內容 text = [] if len(ps) > 0: for p in ps: #輸出節點的文本 text1 = p.text text.append(text1) else: print("空") x = element.xpath('//*[@class="s-hotsearch-content"]/li') #熱搜文本對應的排名 index = [] for x1 in x: #獲取節點的屬性 index1 = x1.get("data-index") index.append(index1) print(text) print(index) #定義一個對文本和排名進行匹配的函數,返回一個字典型數據 def PP(index_array,text_array): x = {} i = 0 for index_a in index_array: #index_a = int(index_a) x[index_a] = text_array[i] i = i + 1 return x re_text = PP(index,text) #對字典性數據按key進行排序,即key=lambda re:re[0],排序完成後再轉換為字典型數據 last_text = dict(sorted(re_text.items(),key=lambda re:re[0]))
到此這篇關於Python獲取百度熱搜的完整代碼的文章就介紹到這瞭,更多相關Python 百度熱搜內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found