【发布时间】:2021-05-05 00:11:19
【问题描述】:
我将使用这段代码来解释我的疑问: 使用没有出售过滤器的网址
import requests
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np
url = "https://www.ebay.es/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=iphone+x&_sacat=0&LH_TitleDesc=0&_udlo=400&LH_Auction=1&_osacat=0&_odkw=Pok%C3%A9mon+card+Charizard+4%2F102&rt=nc"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
results = soup.find_all("div", {"class": "s-item__info clearfix"})
print(len(results))
输出:12
然后我使用只有出售商品的url,我检查了html,类是一样的。
import requests
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np
url = "https://www.ebay.es/sch/i.html?_from=R40&_nkw=iphone+x&_sacat=0&LH_TitleDesc=0&_udlo=400&LH_Auction=1&rt=nc&LH_Sold=1&LH_Complete=1"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
results = soup.find_all("div", {"class": "s-item__info clearfix"})
print(len(results))
输出:0
我尝试了不同的课程,但我永远无法获得一些东西。 谢谢。
【问题讨论】:
-
您是否通过打印
r.text来检查 html 并找到您正在寻找的类/标签? -
ebay.es/sch/… 得到 29 吗?
-
网站好像有时候会要求解决Captcha...
-
@kiviss 是的,我使用您的代码得到了 29 作为输出,那么问题出在哪里??
标签: python web-scraping beautifulsoup