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

Молодой учёный

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

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


В статье автор делится кодом на языке программирования 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).
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
парсинг
сбор данных
лингвистические исследования
юридическая консультация
частотный словарь
Молодой учёный №24 (523) июнь 2024 г.
Скачать часть журнала с этой статьей(стр. 496-499):
Часть 7 (стр. 439-505)
Расположение в файле:
стр. 439стр. 496-499стр. 505

Молодой учёный