Помогите с скриптом на Python по поиску ключевых слов по сайтам

Есть набросок скрипта который на данный момент может брать элементы со страницы(только одной) и выдавать базовую информацию. Вопрос заключается в том, как можно сделать чтобы ссылки он брал из текстовика и искал ссылки в которых будет ключевое слово, которое будут вводить.

from bs4 import BeautifulSoup as BS


# links = open('links.txt', 'r')
# data = links.readlines()


def parsing():
    URL = 'https://www.olx.pl/elektronika/komputery/'
    HEADERS = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
    response = requests.get(URL, headers=HEADERS)
    soup = BS(response.content, 'html.parser')
    items = soup.find_all('div', class_="offer-wrapper")
    #    s1 = input("Enter your key: ")
    comps = []
    for item in items:
        comps.append({
            'title': item.find('a', class_='marginright5 link linkWithHash detailsLinkPromoted').get_text(strip = True),
            'link': item.find('a', class_='marginright5 link linkWithHash detailsLinkPromoted').get('href')
        })
    for comp in comps:
        print(f"{comp['title']} -> Link  {comp['link']}")


# links.close()
parsing()


Ответы (1 шт):

Автор решения: Evgeniy

Проверить нет возможности, но логика работы верная:

import requests
from bs4 import Beautifulsoup as bs

urls = open('urls.txt', 'r')
url_list = list(urls)

keyword = input('Write keyword')

for url in url_list:
    r = requests.get(url)
    soup = bs(r.content, 'lxml')
    if soup.find_all(text=keyword):
        print(url)

В соответствии с пожеланиями:

import requests
from bs4 import Beautifulsoup as bs

urls = open('urls.txt', 'r')
url_list = list(urls)

keyword = input('Write keyword')

for url in url_list:
    r = requests.get(url)
    soup = bs(r.content, 'lxml')
    finded = soup.find_all(text=keyword)
    if finded:
        print(url)
        for each in finded:
            print(each)
        print('END WITH THIS URL')

Еще вариант:

for url in url_list:
    r = requests.get(url)
    soup = bs(r.content, 'lxml')
    finded = soup.find_all('a' href=True)
    if finded:
        print(url)
        for each in finded:
            if keyword in each:
                print(each)
        print('END WITH THIS URL')
→ Ссылка