soup.find返回的是乙個物件,第乙個符合條件的標籤
soup.findall返回的是乙個列表,包含所有符合條件的標籤
所以find後面可以直接接get_text函式,而findall不行,只能將findall列表中的元素,單獨地去get_text
例如:
from urllib.request importurlopen
from bs4 import
beautifulsoup
import
requests
html = urlopen("
")a_html = beautifulsoup(html,'
lxml')
mudi = a_html.find("div",)
.get_text()#find返回單個物件,可以直接接get_text()
(mudi)
target = "
"req =requests.get(target)
html2 =req.text
bf = beautifulsoup(html2,'
html.parser')
for mudi2 in a_html.find("
div",).findall("span",):
(mudi2.get_text()) # findall是乙個列表,需要單獨將元素get_text()
同時,注意urlopen和request方式是不同的
bsobj.findall("h1") # 返回頁面中標籤為的乙個列表
bsobj.findall() # 獲取全部標題標籤的列表
a = bsobj.findall("h2")
len(a)
#.findall 返回的是列表,所以可以用 len() 計算個數
bsobj.findall("", ) #返回所有標籤屬性class為green的標籤,形成乙個列表
bsobj.findall(
"span
", ) #
返回所有的span標籤中,屬性class為綠色的
for child in jbsobj.find("table
",).children#
在名為giftlist的列表標籤下,找到該列表標籤的子標籤
# 如果不是children而是descendants函式的話,就是該標籤下的全部後代標籤
#parent尋找父標籤
for sibling in bsobj.find("
table
",).tr.next_siblings: #
尋找該table標籤的兄弟標籤,不包括他本身,且從他開始往後
# 如果不是next_siblings, 而是previous_siblings,則是從後往前
爬蟲 BeautifulSoup 模組
二 根據這個dom樹就可以按照節點的名稱 屬性和文字搜尋節點 find all 方法會搜尋出所有滿足要求的節點,find 方法只會搜尋出第乙個滿足要求的節點 兩個方法的引數一模一樣 三 得到節點以後,就可以訪問它的名稱 屬性 文字。a為標籤名稱 超連結 href,class為屬性,顯示在頁面上的是p...
爬蟲beautifulsoup實踐
爬蟲beautifulsoup實踐 一 觀察response。首先,在chrome瀏覽器裡觀察一下該網頁的response內容,可以觀察到,的url都存放在img標籤下面,srcset屬性裡面,而且它們的class屬性都為 2zekz。二 理清爬蟲步驟的思路。規律已經找出來了 下一步就把爬蟲的思路寫...
爬蟲資料 Beautiful Soup
安裝 pip intsall bs4 beautiful soup的簡介 beautiful soup是python的乙個庫,最主要的功能是從網頁抓取資料,官方解釋如下 github位址 和lxml一樣,beautifulsoup也是乙個html xml的解析器,主要功能也是如何解析和提取html ...