比较列表,查看一个列表中元素的一部分是否存在于另一列表中

时间:2018-08-29 00:24:04

标签: python html list

我有一个问题。我正在用Beautiful汤解析一个网站,并将一些html标签及其内容添加到根据它们满足的条件授予的两个不同列表中。无论如何,我有两个列表

name = [<a class="name-link" href="/shop/tops-sweaters/wxyvjbwed/emon78ji2">Vertical Logo Baseball Jersey</a>, <a class="name-link" href="/shop/tops-sweaters/wxyvjbwed/q2j1gm57b">Vertical L
ogo Baseball Jersey</a>, <a class="name-link" href="/shop/tops-sweaters/wxyvjbwed/ulovwdkr3">Vertical Logo Baseball Jersey</a>]

color = [<a class="name-link" href="/shop/tops-sweaters/wxyvjbwed/emon78ji2">Red</a>, <a class="name-link" href="/shop/tops-sweaters/noh7spfz2/kg3lseuzf">Red</a>, <a class="name-link" href="
/shop/tops-sweaters/p98rptfuw/a52kgnw0j">Red</a>, <a class="name-link" href="/shop/tops-sweaters/jxupqcv7o/vbj8g1f7u">Red</a>, <a class="name-link" href="/shop/tops-sweaters/gxfe5iqz
b/ulw54cqk3">Red</a>]

这两个列表之间有一组匹配的href。在创建列表之前,我不知道该href值是什么。是否有任何html库或python内置的东西可以在这里帮助解决我的问题?这也是列表之间的匹配href,即“ / shop / tops-sweaters / wxyvjbwed / emon78ji2”。这应该是输出

编辑:这是html结构。 h1标签围绕着标签。

<h1><a class="name-link" href="/shop/tops-sweaters/wxyvjbwed/emon78ji2">Vertical Logo Baseball Jersey</a></h1>

1 个答案:

答案 0 :(得分:1)

如果您已经在使用Beautiful Soup来查找a标记,为什么在拥有对象时不只是提取href值。例如:

list = [a['href'] for a in soup.find_all('a', href=True)]

如果使每个列表都包含一个href列表,而不是整个标签,则可以比较它们。

matching = set(list1) & set(list2)