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

2024-10-01 00:33:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题。我正在用BeautifulSoup解析一个网站,并在满足的条件下,将一些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>

Tags: name列表htmllinkredshopclasshref
1条回答
网友
1楼 · 发布于 2024-10-01 00:33:28

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

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

如果让每个列表都成为一个href列表,而不是整个标记,那么比较起来就更容易了

matching = set(list1) & set(list2)

相关问题 更多 >