Python爬蟲(三) 網頁解析

2021-10-24 01:21:45 字數 1337 閱讀 4778

所需庫

from bs4 import beautifulsoup
專案**示例
html = askurl("")               # 獲取頁面html文字

soup = beautifulsoup(html, "html.parser") # 使用html解析來處理html變數(變數名)

item1 = soup.find_all("article"): # 匹配article標籤

item1 = str(item) # 轉換為字串

item2 = soup.find_all("span", class_="post-views-count") # 匹配span標籤,且class為post-views-count。

item2 = str(item)

函式用法

先需要用上篇文章的askurl函式來獲取html文字,也可以使用檔案開啟,目的是獲得html文字。

使用beautifulsoup(a, b)函式對html文字解析,其中,a是待解析的資料,b是解析器,對於本示例來說,需要解析html變數,以html解析器。將結果賦予乙個變數soup後:

soup = beautifulsoup(html, "html.parser")
之後,使用soup.find_all()函式匹配標籤。

例如,想匹配乙個標籤,使用 item = soup.find_all("a")

想只匹配前三個標籤,使用 item = soup.find_all("a", limit=3)

而想要匹配乙個class="post-views-count",使用 item = soup.find_all(class_="post-views-count") 注意class有下劃線_

想要匹配乙個id=main,使用item = soup.find_all(id="main")

item = soup.find_all("article")
此時直接列印這個變數item,可以看到十個article標籤已經成為列表儲存在item中了,此時只需要用for迴圈遍歷,就能將item中的每個文章取出,轉換成字串後就可以進行之後的正規表示式匹配,來匹配目標資料了。

item = soup.find_all("span", class_"post-views-count")
這串**的意思是匹配span標籤,且class=「post-views-count」,但實際使用中只需要匹配class即可,因為這個class是獨一無二的。

python爬蟲 五 網頁解析器

網頁解析器 是從網頁中提取有價值資料的工具 python 有四種網頁解析器 1 正規表示式 模糊匹配解析 2 html.parser 結構化解析 3 beautiful soup 結構化解析 4 lxml 結構化解析 其中 beautiful soup 功能很強大,有html.parse和 lxml...

python爬蟲基礎04 網頁解析庫xpath

xpath 是一門在 xml 文件中查詢資訊的語言。xpath 用於在 xml 文件中通過元素和屬性進行導航。相比於beautifulsoup,xpath在提取資料時會更加的方便。在python中很多庫都有提供xpath的功能,但是最基本的還是lxml這個庫,效率最高。在之前beautifulsou...

python爬蟲專項(2) 網頁結構剖析

以豆瓣網為例 1 瀏覽器 谷歌瀏覽器 chrome 2 開啟開發者模式 右鍵 檢查 3 檢視源 右鍵 檢視網頁源 2.1 乙個簡單的框架圖 2.2 爬蟲基本邏輯 一 分頁網頁url採集 資料資訊網頁url採集 資料採集 該邏輯1個資料資訊網頁採集1條資料 第一步 分頁網頁url採集 得到乙個分頁的u...