【发布时间】:2020-11-15 12:03:10
【问题描述】:
请放轻松,这是我的第一个 bs4 网络爬虫!我正在尝试为二手商品网站上的价格选择一个 div ID。这是价格框的检查元素部分:
<div class="price-box">
<div id="priceBox-price" class="price" itemprop="price" content="879,00">
€ 879,-
</div>
这是我的python代码:
import requests
import bs4
def scrape_site(url):
res = requests.get()
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, 'html.parser')
price = soup.find("div", class_= "price")
print(price)
print(price) 返回“无”。我尝试将许多类 ID 和其他 div ID 传递给 soup.find 或 soup.select,但不幸的是,我似乎无法从框中提取数字。
我还想在此页面上选择许多其他元素并将它们添加到已经初始化的全局可用列表中。传递soup.find 多个类ID(或此处的任何解决方案)或将找到的soup 对象附加到列表中的多行更有效?
这是一个我想从中提取价格、颜色、位置和修改/发布日期的广告示例:
https://www.willhaben.at/iad/kaufen-und-verkaufen/d/serious-valparola-pro-rennrad-422463471/
非常感谢任何帮助!
编辑:
无论我改变什么变量,.get 都不起作用。这是我当前的完整代码,所有函数返回(没有.get)都是“无”
from bs4 import BeautifulSoup
#list initialisation for data storage
name = []
address = []
colour = []
price = []
last_edited = []
def scrape_site(url):
page = requests.get(url)
soup = BeautifulSoup(page.content,'html.parser') #.get('content')
price = soup.find('div',{'itemprop':'price'})
print(price)
【问题讨论】:
标签: python web-scraping beautifulsoup