关于Python爬取热搜的另一种方法
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、BeautifulSoup是什么?
- 二、使用步驟
- 1.引入庫
- 2.讀入數據
- 總結
前言
本文主要介紹使用BeautifulSoup來爬取百度熱搜的方法,其中介紹過方法一利用selenium來爬取熱搜(使用Selenium爬取熱搜遇到問題與實踐)
一、BeautifulSoup是什么?
????????BeautifulSoup是Python提供給用戶從html或者xml文件中提取想要的數據的庫,它提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。通過解析文檔為用戶提供需要抓取的數據。代碼量較簡潔。BeautifulSoup會自動將輸入文檔轉換為Unicode編碼,如果原始文檔沒有指定一個編碼方式,這時,BeautifulSoup就不能自動識別編碼方式了。所以,你需要說明一下原始編碼方式。可以使用的requests的encoding與apparent_encoding來幫助獲取網頁頭部文檔編碼方式和根據網頁內容分析網頁編碼方式。(通常apparent_encoding比encoding更加準確,當網頁出現亂碼時可以把apparent_encoding的編碼格式賦值給encoding)。
代碼如下(示例):
r = requests.get(url, headers=header)#r是變量,url網址,header是請求頭 r.encoding = r.apparent_encoding二、使用步驟
1.引入BeautifulSoup庫
下載
pip install beautifulsoup4代碼如下(示例):
import requests from bs4 import BeautifulSoup url = "https://top.baidu.com/board?tab=realtime" headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" } # 請求頭2.讀入數據
代碼如下(示例):
import requests from bs4 import BeautifulSoup url = "https://top.baidu.com/board?tab=realtime" headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" } # 請求頭,每個瀏覽器請求頭不一樣 res = requests.get(url, headers=headers)#獲取網頁內容 html = res.text#將網頁內容轉為str soup = BeautifulSoup(html, features="html.parser") kw = soup.select("div .c-single-text-ellipsis") # 熱搜詞,soup.select根據網頁標簽來,返回類型list count = soup.select("div .hot-index_1Bl1a") # 熱搜指數 context = [] for i in range(len(kw)):k = kw[i].text.strip() # 移除左右空格v = count[i].text.strip()# print(f"{k}{v}".replace('\n',''))context.append(f"{k}{v}".replace('\n', ''))for j in context:print(j)2.1代碼分析
soup = BeautifulSoup(html, features="html.parser")BeautifulSoup()
| Python標準庫 | BeautifulSoup(目標網址文本, "html.parser") | | Python 2.7.3 or 3.2.2)前 的版本中文檔容錯能力差 |
| lxml HTML 解析器 | BeautifulSoup(目標網址文本, "lxml") | | 需要安裝C語言庫 |
| lxml XML 解析器 | | | 需要安裝C語言庫 |
| html5lib | BeautifulSoup(目標網址文本, "html5lib") | |
|
2.2運行結果
3.注意:
每個瀏覽器請求頭不一樣,需要自行查看,復制。可參考請求頭
4.參考文檔
BeautifulSoup4用法詳解_菲宇的博客-CSDN博客_beautifulsoup
總結
????????本文主要描述根據BeautifulSoup包來獲取網頁內容方法概述,爬取熱搜數據。
總結
以上是生活随笔為你收集整理的关于Python爬取热搜的另一种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度、微博的大数据算法Top10热搜怎么
- 下一篇: 如何做好虾皮跨境电商?关于Shopee店