- Статус
- Offline
- Регистрация
- 20 Мар 2021
- Сообщения
- 77
- Лайки
- 377
В данной теме поговорим о парсинге сайтов на Для просмотра ссылки Войди или Зарегистрируйся, с использованием библиотеки Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся.
Мы сделаем простой парсер сообщений в профилях пользователей HTM.
Данное руководство рассчитано для людей, которые знают хотя бы базу Для просмотра ссылки Войдиили Зарегистрируйся.
Нам понадобится:
- Для просмотра ссылки Войдиили Зарегистрируйся
- Для просмотра ссылки Войдиили Зарегистрируйся
1. Установка.
Первое, что вам нужно установить Для просмотра ссылки Войдиили Зарегистрируйся, а после установить библиотеку Для просмотра ссылки Войди или Зарегистрируйся. Переходим на официальный сайт Для просмотра ссылки Войди или Зарегистрируйся, скачиваем и устанавливаем.
После установки запускаем любую консоль cmd/powershell. (Я буду использовать Для просмотра ссылки Войдиили Зарегистрируйся)
Устанавливаем Для просмотра ссылки Войдиили Зарегистрируйся и requests:
2. Создание парсера.
Если вы все установили, то переходим к созданию парсера.
Как я говорил ранее мы будем парсить сообщения пользователей в профилях других пользователей.
Создаем новый .py файл с любым названием, в моем случае - parser.py.
1) Импортируем наши библиотеки:
2) Пишем функцию для парсинга.
Для этого нам понадобится взять наш юзерагент или любой другой, чтобы сайт не считал нас ботом.
Сделать вы можете это на сайте - Для просмотра ссылки Войдиили Зарегистрируйся.
Переходим к написанию базы для парсинга.
Ниже будет код с пояснением каждой строки.
Переходим дальше к самому интересному.
Выбираем, что мы будем парсить. В моем случае - это сообщения в профилях.
Я буду парсить кто написал и что написал. ( Если хотите можете доделать сами: у кого написал. Мне было лень )
Для этого нам нужно узнать тэг и класс.
Как это сделать:
Жмете Ctrl + Shift + I (Открываем инспектирование страницы), переходим в Elements и видим слева вверху инструмент выбора элемента.
Нажимаем на этот инструмент и наводимся и жмем на блок с сообщением.
И видим тэг и класс нашего блока сообщений.
Тут мы видим "div" - это Тэг.
И видим наш "message-cell message-cell --main" - это наш Класс.
Проделываем то же самое, но в этот раз с ником.
Наводимся и нажимаем на ник.
Тут мы видим "a" - это Тэг.
И видим наш "username" - это наш Класс.
Запоминаем эту информацию, а лучше класс скопировать, чтобы не ошибиться при написании.
С текстом в будущем делаем то же самое.
Переходим к написанию кода.
На данном этапе мы можем уже запустить наш парсер и посмотреть результат.
Наш парсер вывел всего 5 сообщений, т.к. в данный момент их всего 5. Вывелось все кроме смайликов, т.к. мы получали только текст.
Так же мы можем сделать сохранения наших полученных данных парсером.
Для этого нам нужно создать новую ф-цию, назовем ее save.
Так же делаем глобальной функцию msg и запускаем нашу функцию во втором цикле.
И что мы видим:
У нас вывелись данные в консоль и создался файл с данными.
Итоговый исходный код:
Для просмотра ссылки Войдиили Зарегистрируйся
Для просмотра ссылки Войдиили Зарегистрируйся
На этом тема подходит к концу, буду рад, если узнали полезную информацию из данной темы.
Мы сделаем простой парсер сообщений в профилях пользователей HTM.
Данное руководство рассчитано для людей, которые знают хотя бы базу Для просмотра ссылки Войди
Нам понадобится:
- Для просмотра ссылки Войди
- Для просмотра ссылки Войди
1. Установка.
Первое, что вам нужно установить Для просмотра ссылки Войди
После установки запускаем любую консоль cmd/powershell. (Я буду использовать Для просмотра ссылки Войди
Устанавливаем Для просмотра ссылки Войди
Код:
pip install beautifulsoup4
pip install requests
2. Создание парсера.
Если вы все установили, то переходим к созданию парсера.
Как я говорил ранее мы будем парсить сообщения пользователей в профилях других пользователей.
Создаем новый .py файл с любым названием, в моем случае - parser.py.
1) Импортируем наши библиотеки:
Код:
from bs4 import BeautifulSoup
import requests
2) Пишем функцию для парсинга.
Для этого нам понадобится взять наш юзерагент или любой другой, чтобы сайт не считал нас ботом.
Сделать вы можете это на сайте - Для просмотра ссылки Войди
Переходим к написанию базы для парсинга.
Ниже будет код с пояснением каждой строки.
Код:
def parse(): // Создание функции.
URL = 'https://hard-tm.su/whats-new/' // URL откуда будем парсить.
HEADERS = { // Создание словаря.
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.91 Safari/537.36' // Наш юзерагент.
}
response = requests.get(URL, headers = HEADERS) // Переменная отвечающая за отправку запросов на страницу.
soup = BeautifulSoup(response.content, 'html.parser') // Получение контента с страницы и указание, что мы парсим html.
parse()
Выбираем, что мы будем парсить. В моем случае - это сообщения в профилях.
Я буду парсить кто написал и что написал. ( Если хотите можете доделать сами: у кого написал. Мне было лень )
Для этого нам нужно узнать тэг и класс.
Как это сделать:
Жмете Ctrl + Shift + I (Открываем инспектирование страницы), переходим в Elements и видим слева вверху инструмент выбора элемента.
Нажимаем на этот инструмент и наводимся и жмем на блок с сообщением.
И видим наш "message-cell message-cell --main" - это наш Класс.
Проделываем то же самое, но в этот раз с ником.
И видим наш "username" - это наш Класс.
Запоминаем эту информацию, а лучше класс скопировать, чтобы не ошибиться при написании.
С текстом в будущем делаем то же самое.
Переходим к написанию кода.
Код:
fmsg = soup.findAll('div', class_ = 'message-cell message-cell--main') // Здесь мы осуществляем поиск блока с сообщением.
msgs = [] // Создаем список.
for msg in fmsg: // Создаем цикл.
msgs.append({
'username' : msg.find('a', class_ = 'username').get_text(strip = True), // Парсинг юзернейма. get_text - получение текста
'title' : msg.find('div', class_ = 'bbWrapper').get_text(strip = True) // Парсинг текста, написанного пользователем. get_text - получение текста
})
for msg in msgs: // 2 цикл.
print(f'{msg["username"]} : {msg["title"]}') // Вывод нашего текста.
parse() // Запуск функции.
На данном этапе мы можем уже запустить наш парсер и посмотреть результат.
Так же мы можем сделать сохранения наших полученных данных парсером.
Для этого нам нужно создать новую ф-цию, назовем ее save.
Код:
def save(): // Создание функции.
with open('messages.txt', 'a') as file: // Сохранение данных в файл messages.txt, "a" дополнение информацией файл без удаления прошлых данных.
file.write(f'{msg["username"]} : {msg["title"]}\n') // Текст, который будет сохранятся.
Код:
global msg // Делаем функцию глобальной
for msg in fmsg:
msgs.append({
'username' : msg.find('a', class_ = 'username').get_text(strip = True),
'title' : msg.find('div', class_ = 'bbWrapper').get_text(strip = True)
})
for msg in msgs:
print(f'{msg["username"]} : {msg["title"]}')
save() // Запуск функции
У нас вывелись данные в консоль и создался файл с данными.
Итоговый исходный код:
Код:
from bs4 import BeautifulSoup
import requests
def save():
with open('messages.txt', 'a') as file:
file.write(f'{msg["username"]} : {msg["title"]}\n')
def parse():
URL = 'https://hard-tm.su/whats-new/'
HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.91 Safari/537.36'
}
response = requests.get(URL, headers = HEADERS)
soup = BeautifulSoup(response.content, 'html.parser')
fmsg = soup.findAll('div', class_ = 'message-cell message-cell--main')
msgs = []
global msg
for msg in fmsg:
msgs.append({
'username' : msg.find('a', class_ = 'username').get_text(strip = True),
'title' : msg.find('div', class_ = 'bbWrapper').get_text(strip = True)
})
for msg in msgs:
print(f'{msg["username"]} : {msg["title"]}')
save()
parse()
Для просмотра ссылки Войди
Для просмотра ссылки Войди
На этом тема подходит к концу, буду рад, если узнали полезную информацию из данной темы.
Последнее редактирование: