【发布时间】:2019-02-19 00:54:49
【问题描述】:
我希望在线获取特定文章的价格,但我似乎无法获取标签下的元素,但我可以在网站的另一个(不同)站点上进行。在这个特定的站点中,我只得到一个空列表。打印soup.text 也可以。如果可能,我不想使用 Selenium,因为我想了解 BS4 如何在这种情况下工作。
import requests
from bs4 import BeautifulSoup
url = 'https://reverb.com/p/electro-harmonix-oceans-11-reverb-2018'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
cards = soup.select(".product-row-card")
print (cards)
>>>[]
我想得到的是网站上卡片的名称和价格。我以前也遇到过这个问题,但是这里的每个解决方案都只建议使用 Selenium(我可以使用它),但我不知道为什么。我觉得它更不实用。
另外,当我读到该网站正在使用 javascript 来获取此结果时,是否有机会。如果是这样的话,为什么我可以在https://reverb.com/price-guide/effects-and-pedals 中获取数据,而不是在这里?在这种情况下,Selenium 会是唯一的解决方案吗?
【问题讨论】:
标签: python web-scraping beautifulsoup python-requests