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