【问题标题】:compare lists and see if part of element in one list exists in element in another list比较列表并查看一个列表中的部分元素是否存在于另一个列表中的元素中
【发布时间】:2018-08-29 00:24:04
【问题描述】:

我有一个问题。我正在用 Beautiful soup 解析一个网站,并将一些 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>

【问题讨论】:

标签: python html list


【解决方案1】:

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

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

如果您将每个列表设为 href 列表而不是整个标签,您可以更轻松地比较它们。

matching = set(list1) & set(list2)

【讨论】:

猜你喜欢
  • 2022-01-06
  • 2021-12-13
  • 1970-01-01
  • 2021-08-24
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 2020-07-07
  • 1970-01-01
相关资源
最近更新 更多