Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/BeautifulSoup-在同一标记/元素中获取特定属性_Python_Beautifulsoup - Fatal编程技术网

Python/BeautifulSoup-在同一标记/元素中获取特定属性

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

我不熟悉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-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"]

非常感谢。解决问题,然后向你重复谢谢!解决问题,然后向你重复谢谢!解决了,请重复。谢谢!解决问题,并向您报告。