2、beautifulsoup4處理標籤方法
3、正規表示式
4、其它
pip install beautifulsoup4
import bs4
# 引入urllib.request模組
import urllib.request
# html.read()為urllib.request.urlopen()方法得到的位元組物件,也可採用其他方法
html = urllib.request.urlopen("")
# 解析器採用python標準庫:"html.parser",也可以採用其他庫(需安裝)
soup=bs4.beautifulsoup(html.read(),"html.parser")
# 方法一:直接在bs4物件後跟對應的標籤名,可以多級,結果相同
print(soup.h1)
print(soup.html.h1)
print(soup.html.body.h1)
# 方法二:使用find方法查詢,返回型別為bs4.element.tag
name=soup.find("span",)
print(name)
print(type(name))
# 使用get_text()方法去掉標籤
print(name.get_text())
# 方法三:使用findall方法查詢(返回列表)
namelist = soup.findall("span", )
print(type(namelist))
for name in namelist:
# print(name)
print(type(name))
print(name.get_text())
# 列印出table下的內容,僅孩子
for child in soup.find("table",).children:
print(child)
# 迭代列印出table下的內容,即後代
for child in soup.find("table",).descendants:
print(child)
# 列印出tr往後的第乙個兄弟標籤(本身除外)
for child in soup.find("table",).tr.next_sibling:
print(child)
# 列印出tr往後的所有兄弟標籤(本身除外)
for child in soup.find("table",).tr.next_siblings:
print(child)
# 列印出tr往前的第乙個兄弟標籤(本身除外)
for child in soup.find("table",).tr.previous_sibling:
print(child)
# 列印出tr往前的所有兄弟標籤(本身除外)
for child in soup.find("table",).tr.previous_siblings:
print(child)
# .parent獲取父標籤,.previous_sibling獲取前乙個兄弟便簽,如此可以獲取**同行的其它資訊
# 正規表示式可以直接與beautifulsoup4結合使用,如下找出一定路徑下的
images=soup.findall("img",)
for image in images:
print(image)
images=soup.findall("img",)
for image in images:
print(type(image))
# 獲取屬性字典,
print(type(image.attrs))
# 效果相同,獲取src屬性值
print(image["src"])
print(image.attrs["src"])
# 返回有兩個屬性的標籤
print(soup.findall(lambda tag: len(tag.attrs) == 2))
網頁爬蟲php,php網頁爬蟲
網頁爬蟲 最簡單的使用,屬性都採用預設值 curl curl init output curl exec curl curl close curl echo output 稍微複雜一點的,對頁面進行操作 curl curl init curl setopt curl,curlopt url,可以動態...
Python學習之BeautifulSoup庫詳解
beautifulsoup庫是解析 遍歷 維護 標籤樹 的功能庫 學習python爬蟲 有所幫助。beautifulsoup庫我們常稱之為bs4,匯入該庫為 from bs4 import beautifulsoup。其中,import beautifulsoup即主要用bs4中的beautiful...
網頁爬蟲 靜態網頁《一》
一 通過jsoup請求獲取 網頁審查元素。eg request path document doc jsoup.connect request path get 二 檢視需要扣取資料的標籤,通過日誌輸出 doc的body。eg log.v tag,body doc.body 三 檢視列印的日誌,找到...