我正在使用html请求和BeautifulSoup开发一个webscraper(我是新手)。对于1个网页(https://www.superdrug.com/Make-Up/Face/Primer/Face-Primer/Max-Factor-False-Lash-Effect-Max-Primer/p/788724),我正在努力降低产品的价格。HTML是:
<span class="pricing__now" itemprop="price">8.99</span>
我试过使用soup.find和soup.find_all:
r = session.get(link)
r.html.render(sleep=3, timeout=30)
soup = BeautifulSoup(r.content, 'lxml')
price = soup.find('span', itemprop="price").text
r = session.get(link)
r.html.render(sleep=3, timeout=30)
soup = BeautifulSoup(r.content, 'lxml')
price = soup.find_all('span', itemprop="price").text
和r.html.find:
r = session.get(link)
r.html.render(sleep=6, timeout=30)
price = r.html.find('body > div.pdp-container > div.content-wrapper.pdp > div > div > div.pdp__purchase-options > div.pricing > span:nth-child(2)', first=True).text
None
和空列表返回,或AttributeError: 'NoneType' object has no attribute 'text'
。我不确定为什么我不能把这个信息拿出来。任何帮助都将不胜感激
您可以从页面中嵌入的Json数据中获取价格。例如:
印刷品:
相关问题 更多 >
编程相关推荐