сравнить списки и посмотреть, существует ли часть элемента в одном списке в элементе в другом списке - PullRequest
0 голосов
/ 29 августа 2018

У меня есть вопрос. Я разбираю веб-сайт с 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, прежде чем составлять списки. Есть ли HTML-библиотека или что-то встроенное в Python, которые могут помочь решить мою проблему здесь? Здесь также приведена соответствующая ссылка между списками: "/ 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 голосов
/ 29 августа 2018

Если вы уже используете Beautiful Soup для поиска тегов a, почему бы просто не извлечь значения href, когда у вас есть объекты. Например:

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

Если вы сделаете каждый список списком ссылок, а не целым тегом, вы можете сравнить их проще.

matching = set(list1) & set(list2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...