Проблема, которую вы описываете, связана с тем, что ваш код выводит предложение только для определенных слов, но не для всех ссылок. Вам нужно исправить код таким образом, чтобы предложение выводилось для всех ссылок.
Для начала, давайте проанализируем ваш имеющийся код и выявим, где возникает проблема.
Предположим, что ваш код примерно выглядит так:
def get_sentence(word, url): sentences = extract_sentences(url) for sentence in sentences: if word in sentence: return sentence
Этот код принимает два аргумента: слово, которое нужно найти в предложении, и URL-адрес для извлечения предложений. Он вызывает функцию extract_sentences()
, которая получает список предложений из указанной ссылки. Затем код проверяет каждое предложение, и если в нем найдено указанное слово, оно возвращается из функции.
Вероятно, ваша проблема заключается в функции extract_sentences()
, которая не извлекает предложения из всех ссылок. Вам нужно изменить эту функцию так, чтобы она извлекала предложения из всех ссылок, а не только из одной.
Вот пример функции extract_sentences()
, которая может извлекать предложения из всех ссылок:
import requests from bs4 import BeautifulSoup def extract_sentences(urls): sentences = [] for url in urls: response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') text = soup.get_text() sentences.extend(text.split('. ')) return sentences
В этой функции, мы используем библиотеку requests
, чтобы получить содержимое каждой ссылки. Затем мы передаем содержимое в BeautifulSoup
, чтобы извлечь текст из HTML-разметки. Далее, мы разделяем текст на предложения, используя символ точки и пробела ('. '
) в качестве разделителя, и добавляем их в список sentences
.
Теперь, когда мы обновили функцию extract_sentences()
, вы можете использовать ее в вашем исходном коде для получения предложений из всех ссылок:
def get_sentence(word, urls): sentences = extract_sentences(urls) for sentence in sentences: if word in sentence: return sentence
Обратите внимание, что теперь функция get_sentence()
принимает список ссылок вместо одного URL-адреса. Таким образом, вы можете передавать в нее список всех ссылок, с которыми вы хотите работать.
Надеюсь, что эти подробные объяснения помогут вам исправить проблему и улучшить ваш код.