beautifulsoup4从具有特定属性值的anchor元素获取href

时间:2016-10-28 09:32:10

标签: python parsing beautifulsoup

我尝试使用BeautifulSoup4从具有值itemprop的属性url的页面上的多个锚元素解析href值

例如,从/pages/page中提取<a itemprop="url" href="/pages/page"></a>,但在一个页面中有多个这样的项目,所以我在数组中喜欢它们。

我正在考虑这样的事情soup("span", html = True, {'itemprop' : 'name' })

1 个答案:

答案 0 :(得分:0)

通过find_all(),您可以在解析的输出中搜索特定标记。在你的情况下,这很容易。如果第一个参数是一个字符串,它只会找到具有该名称的标签。因此soup.find_all("a")会找到所有锚标记。

现在它还支持(几乎)任何关键字参数,以进一步缩小您的选择范围。在您的情况下,您希望将属性itemprop设置为url,以便您可以使用soup.find_all("a", itemprop="url")执行此操作。

现在会返回一个标记列表,如果要从这些标记中提取href属性,可以使用tag.get("href")。最终结果将是这样的:

anchored_tags = [tag.get("href") for tag in soup.find_all("a", itemprop="url")]