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

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

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

Автор:

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

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

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

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

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

Запорожцева, В. М. Парсинг сайтов как метод сбора данных для лингвистических исследований / В. М. Запорожцева. — Текст : непосредственный // Молодой ученый. — 2024. — № 24 (523). — С. 496-499. — URL: https://moluch.ru/archive/523/115579/ (дата обращения: 30.06.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, Добавление результатов, количественный метод анализа, обращение граждан, сбор данных, слово, частотный словарь, юридическая консультация.


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

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

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

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