Я использую BeautifulSoup, чтобы удалить несколько URL.
BeautifulSoup возвращает список результатов, который выглядит следующим образом:
list1 = ['url1','keyword1', 'url2', 'keyword2'...]
(пары ключевых слов и URL-адреса, откуда они берутся) )
Я хочу сопоставить list1
с list2
, списком ключевых слов.
Моя цель состоит в том, чтобы, если keyword_referenceX
из list2
присутствует в list1
в результате я получаю ['urlX', keyword_referenceX']
.
import requests
from bs4 import BeautifulSoup
urls = []
list1 = []
results = []
urls = ['url1','url2']
list2 = ['keyword_reference1', 'keyword_reference2']
for url in urls:
req = requests.get(url)
soup = BeautifulSoup(req.text, "lxml")
for sub_heading in soup.find_all('h3'):
if str(1) + ". " in sub_heading.text and "11." not in sub_heading.text: #filter I apply
list1.append(url)
list1.append(sub_heading.text)
for list2_element in list2:
for list1_element in list1:
if list2_element in list1_element:
results.append(list2_element)
print(results)