簡體   English   中英

美麗的湯findall返回不同的結果

[英]beautiful soup findall returning different results

我試圖從Amazon上的html表中通過div類解析,當我運行代碼時, find_all()有時會返回我要查找的正確的div類,而其他時候它將返回一個空列表。 關於結果為何有所不同的任何想法?

我正在從此URL中提取: https : //www.amazon.com/dp/B0767653BK

我的代碼:

req = requests.get('https://www.amazon.com/dp/B0767653BK')
page = req.text
BSoup = BeautifulSoup(page, 'html.parser')
divClass = Bsoup.find_all('div', class_='a-section a-spacing-none a-padding-none overflow_ellipsis')

嘗試通過CSS類組合查找所有元素時,最好使用beautifulsoup選擇器:

from bs4 import BeautifulSoup
import requests

req = requests.get('https://www.amazon.com/dp/B0767653BK')
soup = BeautifulSoup(req.text, 'html.parser')

for div_class in soup.select('div.a-section.a-spacing-none.a-padding-none.overflow_ellipsis'):
    print div_class.get_text(strip=True)

這是優選的,因為它允許四個類元素以任何順序出現。 因此,如果頁面決定更改類的順序,則仍會找到它們。

看一下文檔中的按CSS類搜索

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM