Python/BeautifulSoup-在同一标记/元素中获取特定属性
我不熟悉Python和BeautifulSoup。所以,如果我使用了错误的术语,请原谅我 我试图从一个div标签/元素中获取一个特定的“文本”,该标签/元素在同一个目录中具有多个属性Python/BeautifulSoup-在同一标记/元素中获取特定属性,python,beautifulsoup,Python,Beautifulsoup,我不熟悉Python和BeautifulSoup。所以,如果我使用了错误的术语,请原谅我 我试图从一个div标签/元素中获取一个特定的“文本”,该标签/元素在同一个目录中具有多个属性 <div class="property-item" data-id="183" data-name="Brittany Apartments" data-street_number="240" data-street_name="Brittany Drive" data-city="Ottawa" data
<div class="property-item" data-id="183" data-name="Brittany Apartments" data-street_number="240" data-street_name="Brittany Drive" data-city="Ottawa" data-province="Ontario" data-postal="K1K 0R7" data-country="Canada" data-phone="613-688-2222" data-path="/apartments-for-rent/brittany-apartments-240-brittany-drive-ottawa/" data-type="High-rise-apartment" data-latitude="45.4461070" data-longitude="-75.6465360" >
我的问题是,如果我特别想要“数据名”和“数据路径”,例如,我该如何获得它
我搜索过谷歌,甚至这个网站。有些人说使用.contents[2]。但是我仍然无法获取任何属性。如果您想要获取
数据名
和数据路径
属性,您可以简单地使用类似于访问标记
属性的字典:
for btnMoreDetails in citySoup.findAll(attrs={"class":"property-item"}):
print(btnMoreDetails["data-name"])
print(btnMoreDetails["data-path"])
请注意,您还可以使用来匹配属性项:
for property_item in citySoup.select(".property-item"):
print(property_item["data-name"])
print(property_item["data-path"])
仅供参考,如果要查看所有属性,请使用:
如果要获取
数据名
和数据路径
属性,只需使用类似字典的方式访问标记
的属性:
for btnMoreDetails in citySoup.findAll(attrs={"class":"property-item"}):
print(btnMoreDetails["data-name"])
print(btnMoreDetails["data-path"])
请注意,您还可以使用来匹配属性项:
for property_item in citySoup.select(".property-item"):
print(property_item["data-name"])
print(property_item["data-path"])
仅供参考,如果要查看所有属性,请使用:
一旦提取了元素(findAll每次提取一个元素),就可以像访问字典键一样访问属性。例如,下面的代码:
data = """<div class="property-item" data-id="183" data-name="Brittany Apartments" data-street_number="240" data-street_name="Brittany Drive" data-city="Ottawa" data-province="Ontario" data-postal="K1K 0R7" data-country="Canada" data-phone="613-688-2222" data-path="/apartments-for-rent/brittany-apartments-240-brittany-drive-ottawa/" data-type="High-rise-apartment" data-latitude="45.4461070" data-longitude="-75.6465360" >"""
import bs4
soup = bs4.BeautifulSoup(data)
for btnMoreDetails in soup.findAll(attrs= {"class":"property-item"}):
print btnMoreDetails["data-name"]
一旦提取了元素(findAll每次提取一个元素),就可以像访问字典键一样访问属性。例如,下面的代码:
data = """<div class="property-item" data-id="183" data-name="Brittany Apartments" data-street_number="240" data-street_name="Brittany Drive" data-city="Ottawa" data-province="Ontario" data-postal="K1K 0R7" data-country="Canada" data-phone="613-688-2222" data-path="/apartments-for-rent/brittany-apartments-240-brittany-drive-ottawa/" data-type="High-rise-apartment" data-latitude="45.4461070" data-longitude="-75.6465360" >"""
import bs4
soup = bs4.BeautifulSoup(data)
for btnMoreDetails in soup.findAll(attrs= {"class":"property-item"}):
print btnMoreDetails["data-name"]
非常感谢。解决问题,然后向你重复谢谢!解决问题,然后向你重复谢谢!解决了,请重复。谢谢!解决问题,并向您报告。