Python爬蟲筆記之css xpath查詢

2021-10-19 19:48:04 字數 1555 閱讀 6347

記錄使用css和xpath查詢元素的基本方法。

不同庫中內建的css和xpath使用有所不同。

1.1 bs4

soup.select(

《查詢條件》

)soup.select(

".***"

)#class為***的標籤

soup.select(

"#***"

)#id為***的標籤

1.2 lxml

《標籤》

.xpath(

"《路徑》[《查詢條件》]/《查詢內容》"

)from lxml import etree

root=etree.html(r.text)

a=root.xpath(

"//a[contains(@***,'yyy')]"

)#查詢標籤

a.xpath(

"/b/@***"

)#查詢***屬性

或root.xpath(

"//a[contains(@***,'yyy')]/b/@***"

)

2 . scrapy

response.css(

"《查詢條件》::《查詢內容》"

).extract(

)response.css(

".***::text"

).extract(

)#class為***的文字

response.css(

"#***::attr(yyy)"

).extract(

)#id為***的yyy屬性

response.xpath(

"《路徑》[《查詢條件》]/《查詢內容》"

)response.xpath(

"//a[contains(@***,'yyy')]"

)#***屬性為yyy的a元素

response.xpath(

"//a[text()='***']"

)#文字為***的a元素

response.xpath(

"//span/a"

).re(r'***'

,str

(response.body)

)#與re配合使用

3 . selenium

element=driver.find_element_by_css_selector(

"《查詢條件》"

)element=driver.find_element_by_xpath(

"《路徑》[《查詢條件》]"

)element.text #文字

element.get_attribute(

"***"

)#屬性

css和xpath查詢靈活,支援模糊搜尋,不同庫內置的css使用有所不同,xpath的使用大體相同,在查詢requests庫爬取結果時,可以將css與beautifulsoup或者xpath與lxml結合使用,從而減少對標籤的迭代操作。

爬蟲 Python爬蟲學習筆記之Urllib庫

1.urllib.request開啟和讀取url 2.urllib.error包含urllib.request各種錯誤的模組 3.urllib.parse解析url 4.urllib.robotparse解析 robots.txt檔案 傳送get請求 引入urlopen庫 用於開啟網頁 from u...

python 爬蟲之requests筆記

準備工作 安裝好pycharm,requests庫 requests 爬蟲程式 模板 import requests defgethtmttext url try r requests.get url,timeout 30 r.raise for status 如果狀態不是200,引發httperr...

Python學習筆記之爬蟲

爬蟲排程端 啟動爬蟲,停止爬蟲,監視爬蟲運 況 網頁解析器 beautiful soup 語法 例如以下 對應的 1 建立beautifulsoap物件 2 搜尋節點 find all,find 3 訪問節點資訊 文件字串,解析器,指定編碼utf 8 print 獲取所有的連線 links soup...