This question already has answers here:
Extracting an attribute value with beautifulsoup
(10 个回答)
3年前关闭。
我想从一个网页中抓取数据。我的代码如下所示:
结果我得到:
从那里我需要提取 data-url-alias 和值。
怎么做?
正如 Evyatar Meged 在评论中提到的,如果键不存在,这将引发
如果键不存在(或者您可以设置默认值),
(10 个回答)
3年前关闭。
我想从一个网页中抓取数据。我的代码如下所示:
grad = s.get('https://www.njuskalo.hr/prodaja-kuca/zagreb',headers=header, proxies=proxyDict)
city_soup = BeautifulSoup(grad.text, "lxml")
kvarts = city_soup.find_all(id="locationId_level_1")
print kvarts[0]
print "++++++++++++++++++++++="
for kvart in kvarts[0]:
print kvart
结果我得到:
<option data-url-alias="/brezovica" value="1247">Brezovica</option>
<option data-url-alias="/crnomerec" value="1248">Črnomerec</option>
<option data-url-alias="/donja-dubrava" value="1249">Donja Dubrava</option>
从那里我需要提取 data-url-alias 和值。
怎么做?
最佳答案
bs4
将标签属性存储在字典中,以便您可以按名称选择它们。
for kvart in kvarts[0].find_all('option'):
print kvart['data-url-alias'], kvart['value']
正如 Evyatar Meged 在评论中提到的,如果键不存在,这将引发
KeyError
,因此如果您不确定它,请使用 .get
方法。for kvart in kvarts[0].find_all('option'):
print kvart.get('data-url-alias'), kvart.get('value')
如果键不存在(或者您可以设置默认值),
dict.get
返回 None
关于python - 如何使用 BeautifulSoup 获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47938299/
10-12 22:17