Парсинг сайтов как метод сбора данных для лингвистических исследований | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 23 ноября, печатный экземпляр отправим 27 ноября.

Опубликовать статью в журнале

Автор:

Рубрика: Филология, лингвистика

Опубликовано в Молодой учёный №24 (523) июнь 2024 г.

Дата публикации: 14.06.2024

Статья просмотрена: 34 раза

Библиографическое описание:

Запорожцева, В. М. Парсинг сайтов как метод сбора данных для лингвистических исследований / В. М. Запорожцева. — Текст : непосредственный // Молодой ученый. — 2024. — № 24 (523). — С. 496-499. — URL: https://moluch.ru/archive/523/115579/ (дата обращения: 15.11.2024).



В статье автор делится кодом на языке программирования Python для сбора лингвистических данных, а также проводит исследование с полученными данными, используя количественный метод анализа.

Ключевые слова: парсинг, сбор данных, лингвистические исследования, юридическая консультация, частотный словарь.

Что такое парсинг? Парсинг — автоматизированный сбор и систематизация информации из открытых источников с помощью скриптов. Скрипты, собирающие и систематизирующие информацию, называются парсерами. Они работают на разных языках программирования — Python, JavaScript и других [1]. Парсинг умело используется маркетологами для сбора информации о конкурентах, мониторинга отношения потенциальных клиентов к тому или иному продукту. Парсеры собирают данные быстро, в любом режиме, даже круглосуточно, а также представляют их в любом необходимом формате без лишних усилий.

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

Цифровым лингвистам Института филологии, журналистики и межкультурной коммуникации в рамках проектной деятельности была поставлена задача провести исследование обращений граждан на юридических сайтах — с какими вопросами чаще обращаются, как формулируют свои вопросы и др. Предварительно нами был выбран количественный метод анализа текстовых данных и поставлена задача собрать тексты обращений граждан с сайта pravoved.ru [2]. Такой выбор не случаен, сайт pravoved — содержит множество вопросов от пользователей, сохранённых на тысячах страницах в хронологическом порядке. Они разделены на 32 категории, среди которых конституционное, гражданское, семейное, трудовое право и др.

Однако извлечение данных с сайта вручную — очень долгий, изнурительный и неэффективный процесс. Именно поэтому было принято решение использовать парсеры. Существующие инструменты, найденные нами на различных ресурсах, в том или ином аспекте либо не подходили под наши задачи, либо требовали денежных инвестиций. В итоге нами был разработан код на языке программирования Python, приведенный ниже (Таблица 1).

Прежде чем запустить его, необходимо предварительная установка трех библиотек: BeautifulSoup, requests и openpyxl .

BeautifulSoup позволяет извлекать данные из веб-страниц, а также облегчает работу с ними, requests быстро и просто работает с запросами, а openpyxl записывает полученную информацию в файл формата CSV или Excel-файл (XLSX).

Таблица 1

Код для парсинга запросов пользователей сайта pravoved . ru

from openpyxl import load_workbook

wb = load_workbook('Парсинг.xlsx')

sheet = wb['Готовый']

from bs4 import BeautifulSoup

import requests

global list_of_values

def parce_it(element, Class): #Функция парсинга

res = requests.get(url)

soup = BeautifulSoup(res.text,'html.parser')

sp = soup.find_all(element, class_= Class)

print(res)

#Добавление результатов построчно в список

for post in sp:

list_of_values.append(post.get_text())

#Добавление результатов из списка в таблицу

i1 = sheet.max_row + 1

for number in list_of_values:

print(number)

sheet.cell(row = i1, column=5, value = number)

i1 += 1

list_of_values = []

attempts = int(input('Введите количество попыток: '))

url = 'https://pravoved.ru/questions/5/'

for numbers in range(0, attempts):

element = 'div'

Class = 'QuestionListItem_text__ub76v'

parce_it(element, Class)

url = url[0:30] + str(numbers + 2) + '/'

print(url)

wb.save("Парсинг.xlsx")

Дадим некоторый комментарий к приведенному коду.

Первые 5 строк — это подключение необходимых библиотек и открытие файла для записи. Далее переходим к функции. Сначала получаем информацию от сайта, доступен ли он для парсинга. Если ответ Response 200, сбор данных разрешён. Далее они записываются в файл.

Во второй части кода выводится строка для ввода пользователем числа страниц, которые ему необходимо обработать, ссылка на сайт и цикл, который ссылается на функцию. Ссылка на сайт каждый раз автоматически редактируется для перехода на следующую страницу. Последняя строка — сохранение файла.

Единственное, что требуется от пользователя, — написать количество страниц, которое нужно обработать парсером. Далее программа сделает всё самостоятельно и сохранит результат.

Мы получили результат из 20000 строк, каждая из которых содержала отдельное обращение пользователя. Объем полученных данных нами ещё изучается, но для примера работы с количественным методом мы приводим облако слов (Рис. 1), полученное с помощью сайта wordart.com [3].

Даже в первом приближении мы можем заметить, что самое частотное слово в обращениях граждан на сайте юридической консультации — «меня». Примечательно, что это не «я», т. е. не именительный падеж, а родительный и винительный. Так как чаще всего после объяснения ситуации пользователи задают вопросы, в частотном словаре много вопросительных слов: как, какой, где, когда. Также частица ли в сочетании с можно — самая распространённая форма задания вопроса. Слова подскажите и пожалуйста имеют практически равное количество употреблений, являясь клише для формирования вопроса, как и необходимые в коммуникации фразы приветствия — здравствуйте, добрый день, добрый вечер . Наиболее частая проблема, интересующая посетителей сайта — вопрос жилья: квартира , участок , а также услуги , деньги и контракты . Семейная ветвь права одна из самых обширных, поэтому нередко встречаются такие слова как муж , ребёнок , дочь , сын .

Частотное представление текстовых данных (сайт wordart.com)

Рис. 1. Частотное представление текстовых данных (сайт wordart.com)

В табличных данных полученного частотного словаря кроется ещё много тайн, которые вполне раскрываемы благодаря цифровым технологиям.

Литература:

  1. Корнелюк А. Что такое парсинг, и что о нём нужно знать маркетологам [Электронный ресурс] // портал Марквиз URL: https://www.marquiz.ru/blog/chto-takoe-parsing (дата обращения 10.04.2024).
  2. Юридическая консультация онлайн [Электронный ресурс] // портал Pravoved. URL: https://pravoved.ru/ (дата обращения 10.04.2024).
  3. Best word cloud generator [Электронный ресурс] // WordArt. URL: https://wordart.com/ (дата обращения 01.04.2024).
Основные термины (генерируются автоматически): данные, сайт, язык программирования, CSV, XLSX, Добавление результатов, количественный метод анализа, обращение граждан, сбор данных, слово, частотный словарь, юридическая консультация.


Ключевые слова

Сбор данных, парсинг, юридическая консультация, лингвистические исследования, частотный словарь

Похожие статьи

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Анализ тональности высказываний в Twitter

В данной работе рассматривается применение методов машинного обучения с учителем к анализу тональности русскоязычных высказываний в социальной сети Twitter. Подробно разбираются методы предварительной обработки текста, описываются способы анализа тон...

Векторизация слов для нечеткого поиска в вопросно-ответных системах

В статье автор исследует применение векторизации слов для нечеткого поиска в вопросно-ответных системах, путем улучшения точности через современные подходы к векторизации слов и поиск семантически близких слов.

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Применение метода логистической регрессии на основе датасета факторов риска заболевания раком

В статье рассматривается логистическая регрессия, как один из методов машинного обучения. И применяется на основе данных больных раком.

Применение векторизации слов для нечеткого поиска

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

Применение деревьев решений для оценки важности признаков на основе датасета больных раком

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

Методы детектирования искусственных новостей

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Математическая обработка образовательных результатов учащегося с использованием языка программирования Python как метод выявления уровня мотивации школьника

В статье автор предлагает метод обработки образовательных результатов учащихся на примере программы Python для выявления уровня мотивации учащегося.

Возможности использования лингвистических корпусов для исследования немецких образных сравнений с компонентом Lavastrom

Настоящая статья исследует возможности применения лингвистического корпуса для исследования немецких образных сравнений с secundum «Lavastrom», а также проводится семантический анализ приведенных лексических единиц с этим компонентом.

Похожие статьи

Анализ данных на Python

В статье автор подробно исследует аналитические возможности Python, уделяя внимание ключевым библиотекам и методам, которые делают этот язык таким мощным инструментом для работы с данными.

Анализ тональности высказываний в Twitter

В данной работе рассматривается применение методов машинного обучения с учителем к анализу тональности русскоязычных высказываний в социальной сети Twitter. Подробно разбираются методы предварительной обработки текста, описываются способы анализа тон...

Векторизация слов для нечеткого поиска в вопросно-ответных системах

В статье автор исследует применение векторизации слов для нечеткого поиска в вопросно-ответных системах, путем улучшения точности через современные подходы к векторизации слов и поиск семантически близких слов.

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Применение метода логистической регрессии на основе датасета факторов риска заболевания раком

В статье рассматривается логистическая регрессия, как один из методов машинного обучения. И применяется на основе данных больных раком.

Применение векторизации слов для нечеткого поиска

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

Применение деревьев решений для оценки важности признаков на основе датасета больных раком

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

Методы детектирования искусственных новостей

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Математическая обработка образовательных результатов учащегося с использованием языка программирования Python как метод выявления уровня мотивации школьника

В статье автор предлагает метод обработки образовательных результатов учащихся на примере программы Python для выявления уровня мотивации учащегося.

Возможности использования лингвистических корпусов для исследования немецких образных сравнений с компонентом Lavastrom

Настоящая статья исследует возможности применения лингвистического корпуса для исследования немецких образных сравнений с secundum «Lavastrom», а также проводится семантический анализ приведенных лексических единиц с этим компонентом.

Задать вопрос