[英]Noticing a warning to limit scraped results with BeautifulSoup in Python
我正在嘗試使用 BeautifulSoup 在 Python 中從 eBay 中抓取最近售出商品的銷售數據,它與以下代碼配合使用效果很好,它可以找到已售商品的所有價格和所有日期。
price = []
try:
p = soup.find_all('span', class_='POSITIVE')
except:
p = 'nan'
for x in p:
x = str(x)
x = x.replace(' ','"')
x = x.split('"')
if '>Sold' in x:
continue
else:
price.append(x)
現在我遇到了一個問題。 如下圖所示 URL ( https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=babe+ruth+1933+goudey+149+psa.5%2 29&_sacat=0&LH_TitleDesc=0&_osacat=0&_odkw=babe+ruth+1933+goudey+149+psa+1.5&LH_Complete=1&rt=nc&LH_Sold=1 ), 如果沒有足夠的特定搜索查詢,eBay 有時會建議其他搜索結果。 查看圖片
這樣,我的代碼不僅可以找到正確的價格,還可以找到低於警告的建議結果的價格。 我試圖找出警告消息所在的位置並刪除之后找到的每個列表,但我無法弄清楚。 我還以為我可以一個一個地搜索價格,但即便如此,我也不知道如何注意到警告出現的時間。
大家還有什么辦法可以解決這個問題嗎?
我知道這很具體
您可以抓取結果數量(如圖所示)並使用結果范圍進行循環。
代碼將類似於:
results = soup.find...
#You have to make the variable a int so replace everything extra
results = int(results)
for i in range(1, results):
price[i] = str(price[i])
price[i] = price[i].replace(' ','"')
price[i] = price[i].split()
if '>Sold' in price[i]:
continue
else:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.