Как сделать так, чтобы данные только из статьи на какой-то веб-странице использовались с помощью тегов <p>и <div> - PullRequest
0 голосов
/ 01 июня 2019

У меня есть некоторые проблемы с моим скребком.Я не знаю, как удалить только текст без служебного текста, такого как «Войти», «изменить» и так далее.Я делаю проект подведения итогов для моего дипломного проекта, и он собирает статьи с веб-страниц и файлов.

Во-первых, я пробовал только удалять теги "p", но на некоторых сайтах он работает неправильно,потому что на этих сайтах нет тегов "p", где могут быть статьиЗатем я попытался отказаться от "p" и "div".Но теперь он уничтожает абсолютно все, даже вещи, которые я не хочу видеть в моем тексте для подведения итогов.

Вот модуль, который используется для удаления текста и статей с веб-страницы:

def scrap(url):
    try:
        req = urllib.request.Request(url, headers={
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
        })
    except:
        return False

    scraped_data = urllib.request.urlopen(req)
    article = scraped_data.read()

    parsed_article = bs.BeautifulSoup(article, 'lxml')

    paragraphs = parsed_article.find_all('p')
    text_in_no_p = parsed_article.find_all("div")

    article_text = ""

    for p in paragraphs:
        article_text += p.text

    for p in text_in_no_p:
        article_text += p.text

    return article_text

Я ожидаю увидеть очищенный текст без служебного текста, как в примере выше.По крайней мере, любой текст из основного блока веб-страницы.Я не очень хорошо разбираюсь в вебе и знаю только некоторые методы для этого.Спасибо за любой совет.

РЕДАКТИРОВАТЬ 1

Например, краткий текст статьи из Википедии (10 предложений) https://en.wikipedia.org/wiki/English_Electric_Lightning

"^ Дорогая 2008, с. ^ Озеро1997, pp. Lightning T.4 Двухместная учебная версия для двух мест, основанная на F.1A, два опытных образца и 20 серийных сборок, два самолета позднее переоборудованы в прототипы T.5, два самолета позже переоборудованы в T.54. ^ Darling 2000, pp. [Nb 1] Это был тихоходный исследовательский самолет, и он был спроектирован таким образом, чтобы один самолет мог предполагать различные углы поворота крыла. ^ Abcdefghijklmnopqrstu Lightning F Mk.6 Руководство по эксплуатации. ^ Ellis2012, с.278 ^ ab Ellis 2012, с. 91 ^ Ellis 2012, с. 294 ^ ab Ellis 2012, с.132 ^ ab "Листинг самолета". Предварительные испытания показали, что для достижения этой цели у самолета будет избыточная тяга.скорость, учитывая правильные атмосферные условия высокой тропопаузы и температуры ниже стандартной. "Тедди" Петтер, бывший главный конструктор Westland Aircraft, был активным сторонникомБритании необходимо разработать сверхзвуковой истребитель.На более поздних вариантах Молнии можно было установить вентральный пакет оружия, чтобы альтернативно оснастить самолет различными вооружениями, включая ракеты, ракеты и пушки. "

И ожидаемый выходной сигнал, но только выскобленные метки" p "(7 предложений и старая версия)

"[nb 1] Это был тихоходный исследовательский самолет, который был спроектирован таким образом, чтобы один самолет мог предполагать различные углы поворота крыла.При выходе за пределы проектного Маха наклонный удар станет сверхкритическим, и сверхзвуковой поток воздуха попадет во входной канал, который может обрабатывать только дозвуковой воздух.Спецификация для самолета последовала за отменой спецификации самолета сверхзвукового исследования E42 / 43 Министерства авиации 1942 года, которая привела к программе Miles M.52.На более поздних вариантах «Молнии» может быть установлен вентральный блок оружия для альтернативного оснащения самолета различными вооружениями, включая ракеты, ракеты и пушки.«Тедди» Петтер, бывший главный конструктор Westland Aircraft, был одним из первых сторонников британской необходимости создания сверхзвукового истребителя.Планер самолета поглощает тепло от окружающего воздуха, и впускной ударный конус в передней части самолета становится самой горячей частью.Эти характеристики и изначально ограниченная подача топлива сделали Lightning «критически важным для топлива» самолетом, а это означает, что его миссии в значительной степени продиктованы его ограниченной дальностью полета."

Редактировать 2: Основная проблема здесь в том, что если я удаляю только текст из тегов" p ", должно быть много проблем с сайтами, где статьи не в тегах" p ". Например, мойПрограмма закрывается при удалении с некоторых сайтов. Некоторые сайты не хранят свои статьи в тегах "p". Мне действительно сложно создать что-то вроде мастер-ключа для сайтов, потому что commision увидит, как моя программа будет работать с "good" и"плохие" сайты. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...