Soup.find_all 返回 None 即使元素存在

时间:2021-02-24 07:35:56

标签: python-3.x beautifulsoup

即使该类存在,它也不会为 5 个以上的页面返回任何内容。

工作正常的网址:

https://www.ebay.com/sch/i.html?_from=R40&_nkw=Apple&_sacat=0&rt=nc&LH_Sold=1&LH_Complete=1&_ipg=200&_pgn=1

但它不适用于 5-6 页

https://www.ebay.com/sch/i.html?_from=R40&_nkw=Apple&_sacat=0&rt=nc&LH_Sold=1&LH_Complete=1&_ipg=200&_pgn=5

到目前为止我的代码:

response = requests.get(url)
soup = BeautifulSoup(response.content,'html.parser')
app = soup.find_all('li',class_ = 's-item')
for x in app:
    print(x)

打印应用程序 > 打印空列表:[]

我已经手动检查过了,该类存在于所有页面上。

2 个答案:

答案 0 :(得分:0)

内容可能是用 JavaScript 动态生成的。您应该使用 Selenium 来运行 javascript 组件,然后从生成的网页中提取您想要的信息

答案 1 :(得分:0)

您的机器人可能会被检测到,并且第 5 页经常出现验证码或弹出窗口。

尝试使用其他库如 Selenium 来见证你在浏览器中的行为,或者在每次页面查询时截取窗口