html - 用 beautifulsoup 选择元素

标签 html css beautifulsoup css-selectors

我有以下结果列表:

<div id="resultlist" class="result-list ">
   <article itemscope="" itemtype="http://schema.org/Residence" class="search-result-entry  ">
   <article itemscope="" itemtype="http://schema.org/Residence" class="search-result-entry  ">
   <article class="search-result-entry" id="wh_adition_FakeAd1">
   <article itemscope="" itemtype="http://schema.org/Residence" class="search-result-entry  ">
...

使用 beautifulsoup,我尝试选择所有带有“search-result-entry”类和 itemtype="http://schema.org/Residence"的条目。

response = requests.get(url)

#cancel parsing if page doesnt exists
if response.status_code is not 200:
    return

soup = bs4.BeautifulSoup(response.text, "lxml")
#print(soup.select("resultlist")

#select all listings from lise, execlude adds
results = soup.select('.search-result-entry')
print(results)

但是,目前我还选择了那些带有 id="wh_adition_FakeAd1" 的广告,这会在几行之后给我一个索引错误。 我试过了,没有任何结果:

results = soup.select('.search-result-entry meta[itemtype=http://schema.org/Residence]')

知道如何设法只选择我需要的条目吗?

最佳答案

你可以试试这个。查找具有所需元素类型的所有文章标签。这将只打印具有该属性的那些。

for line in soup.findAll("article", {"itemtype" : "http://schema.org/Residence"}):
    print line

你可以对那些有 ID 的人做同样的事情

for line in soup.findAll("article", {"id" : "wh_adition_FakeAd1"}):
    print line

希望这对您有所帮助。

关于html - 用 beautifulsoup 选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44524876/

相关文章:

javascript - 鼠标悬停工具提示不会固定在右上角

html - 如何使用 css 单独打印页面中的多个元素?

java - 如何将 Java 后端与 html/css 前端连接起来?

javascript - 如何在没有 src 属性的情况下在 iframe 中设置 div?

python - 如何在 Beautiful Soup 中提取具有相同标签的特定嵌套元素?

python - BeautifulSoup:提取不在给定标签中的文本

html - 仅使用 CSS 制作发光背景

html - div 中的背景图像未显示

python - 父标签的子标签有特定属性值时,如何使用BeautifulSoup获取父标签名称值?

javascript - 将 Controller 添加到 AngularJS 中动态构造的 div