Size: a a a

NLP_RU - Natural Language Processing & Text Mining

2020 March 11

AK

Alex Konst in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
Неё там все равно много мусора
Если внимательно изучить код страницы и понять, содержимое каких тегов тебе нужно, а потом грамотно написать код, то не будет мусора.
источник

НД

Новиков Дмитрий in NLP_RU - Natural Language Processing & Text Mining
Alex Konst
Если внимательно изучить код страницы и понять, содержимое каких тегов тебе нужно, а потом грамотно написать код, то не будет мусора.
Да, если это 1 типичная страница, а если у меня их миллион от разных сайтов?
источник

AK

Alex Konst in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
Да, если это 1 типичная страница, а если у меня их миллион от разных сайтов?
Scrapy мб
источник

D🐈

Dan 🐈 Capybara in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
Да, если это 1 типичная страница, а если у меня их миллион от разных сайтов?
Тогда тебе нужна другая хорошая библиотека
источник

НД

Новиков Дмитрий in NLP_RU - Natural Language Processing & Text Mining
Dan 🐈 Capybara
Тогда тебе нужна другая хорошая библиотека
У меня функция такая, но корявая конечно:
def Preprocessing (text):
   text = str(text)
   url_html = BeautifulSoup(text, 'html.parser')
   body_texts_soup = url_html.find('body')
   body_text = str(body_texts_soup)
   body_text = body_text.replace("\r", ' ')
   body_text = body_text.replace("\n", ' ')
   link_and_anchor = re.compile(r'<a.*?/a>')    
   css = re.compile(r'<style.*?/style>')
   body_text = body_text.replace('<script.*?</script>','')
   css = re.compile(r'<style.*?/style>')
   scripts = re.compile(r'<script.*?/script>')
   noindex  = re.compile(r'<!--noindex-->.*?<!--/noindex-->')
   noscript = re.compile(r'<noscript.*?/noscript>')
   body_text = link_and_anchor.sub(' ', body_text)
   body_text = css.sub(' ', body_text)
   body_text = scripts.sub(' ', body_text)
   body_text = noindex.sub(' ', body_text)
   body_text = noscript.sub(' ', body_text)    
   full_text = body_text.lower()    
   texts_soup = re.sub(r"\b[\w]{1,2}\b"," ",full_text)
   texts_soup = re.sub(" +", " ", texts_soup)
   del_text_tabs  = re.sub(r'^\s+|\s+|\t+|\t|\!|\"|\©|\#|\$|\%|\&|\|\||\'|\(|\)|\*|\+|\,|\-|\.|\/|\:|\;|\<|\=|\>|\?|\@|\[|\|\\|\]|\^|\_|\`|\{|\||\}|\~', ' ', texts_soup)
   del_tabs = re.sub(r'\s+', ' ', del_text_tabs)

   return ( body_text )
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
У меня функция такая, но корявая конечно:
def Preprocessing (text):
   text = str(text)
   url_html = BeautifulSoup(text, 'html.parser')
   body_texts_soup = url_html.find('body')
   body_text = str(body_texts_soup)
   body_text = body_text.replace("\r", ' ')
   body_text = body_text.replace("\n", ' ')
   link_and_anchor = re.compile(r'<a.*?/a>')    
   css = re.compile(r'<style.*?/style>')
   body_text = body_text.replace('<script.*?</script>','')
   css = re.compile(r'<style.*?/style>')
   scripts = re.compile(r'<script.*?/script>')
   noindex  = re.compile(r'<!--noindex-->.*?<!--/noindex-->')
   noscript = re.compile(r'<noscript.*?/noscript>')
   body_text = link_and_anchor.sub(' ', body_text)
   body_text = css.sub(' ', body_text)
   body_text = scripts.sub(' ', body_text)
   body_text = noindex.sub(' ', body_text)
   body_text = noscript.sub(' ', body_text)    
   full_text = body_text.lower()    
   texts_soup = re.sub(r"\b[\w]{1,2}\b"," ",full_text)
   texts_soup = re.sub(" +", " ", texts_soup)
   del_text_tabs  = re.sub(r'^\s+|\s+|\t+|\t|\!|\"|\©|\#|\$|\%|\&|\|\||\'|\(|\)|\*|\+|\,|\-|\.|\/|\:|\;|\<|\=|\>|\?|\@|\[|\|\\|\]|\^|\_|\`|\{|\||\}|\~', ' ', texts_soup)
   del_tabs = re.sub(r'\s+', ' ', del_text_tabs)

   return ( body_text )
Ты тот парень который пытается парсить xml регулярками?
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Насколько много тебе нужно спарсить?
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
xml слишком сложная структура, чтобы парсить её регулярками
источник

НД

Новиков Дмитрий in NLP_RU - Natural Language Processing & Text Mining
Cucusenok
Насколько много тебе нужно спарсить?
Почему xml? Я с яндекс xml забираю урлы и дальше по урлам делаю разбор. Вроде сегодня допилил функцию по очистке кода, сейчас тестирую. Я голый текст забираю не xml
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
Почему xml? Я с яндекс xml забираю урлы и дальше по урлам делаю разбор. Вроде сегодня допилил функцию по очистке кода, сейчас тестирую. Я голый текст забираю не xml
Ты меня не услышал
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Я правильно понимаю что тебе нужнен только текст внутри тэгов?
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Скажи реальное число сайтов которое нужно затестить
источник

НД

Новиков Дмитрий in NLP_RU - Natural Language Processing & Text Mining
Cucusenok
Скажи реальное число сайтов которое нужно затестить
Это постоянный цикл, я для seo экспериментов это хочу использовать и обучать. Да мне нужен текст в боди без ссылок
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Новиков Дмитрий
Это постоянный цикл, я для seo экспериментов это хочу использовать и обучать. Да мне нужен текст в боди без ссылок
В боди не только текст, это вложенная структура
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Подними selenium
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Ты вообще не туда пошел
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Ctrl + A
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Готово
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Там есть режим без инициализации
источник

C

Cucusenok in NLP_RU - Natural Language Processing & Text Mining
Гуи
источник