Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

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

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

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

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

python Гайд Ваш первый парсер на python с помощью beautifulsoup4 и requests.

sunilia Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Всем привет! Сегодня мы с вами напишем небольшой парсер на python.

Библиотека BeautifulSoup — это мощный инструмент для парсинга HTML и XML документов. Она помогает извлекать данные из веб-страниц, обрабатывать их, изменять и анализировать. BeautifulSoup автоматически разбирает деревья HTML и XML документов, делая процесс парсинга проще и удобнее.

Установка BeautifulSoup4

Для начала нам нужно установить саму библиотеку. Для этого воспользуемся pip:

Bash:
pip install beautifulsoup4

Также для работы с веб-страницами нам понадобится модуль для получения HTML — чаще всего это requests:

Bash:
pip install requests

Теперь можем приступать к написанию кода!

Пример парсинга страницы

Допустим, нам нужно спарсить страницу и вытащить из неё все заголовки h1 и h2. Вот как это сделать:

Python:
import requests
from bs4 import BeautifulSoup

# Загружаем страницу
url = "https://example.com"
response = requests.get(url)

# Парсим HTML
soup = BeautifulSoup(response.text, "html.parser")

# Находим все заголовки h1
h1_tags = soup.find_all('h1')

# Находим все заголовки h2
h2_tags = soup.find_all('h2')

# Выводим результат
print("Заголовки H1:")
for h1 in h1_tags:
    print(h1.text)

print("\nЗаголовки H2:")
for h2 in h2_tags:
    print(h2.text)

В этом примере мы сначала загружаем страницу с помощью requests, а затем передаем её содержимое в BeautifulSoup для парсинга. После этого с помощью метода find_all находим все элементы, соответствующие заданному тегу (в нашем случае h1 и h2), и выводим их текстовое содержимое.

Как работать с атрибутами

BeautifulSoup позволяет легко извлекать не только текст между тегами, но и атрибуты этих тегов. Например, давайте вытащим все ссылки (теги `a`) и их URL-адреса:

Python:
import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# Находим все ссылки
links = soup.find_all('a')

# Выводим URL каждой ссылки
for link in links:
    href = link.get('href')
    print(href)

Метод get позволяет извлечь значение конкретного атрибута тега. В этом случае мы получаем значение атрибута href у каждого тега `a`.

Поиск по CSS-классам

Иногда нам нужно найти элементы по определенным классам. Это тоже делается очень легко с BeautifulSoup. Например, предположим, что на странице есть элементы с классом `article-title`, и мы хотим их все собрать:

Python:
import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# Находим все элементы с классом article-title
titles = soup.find_all('div', class_='article-title')

# Выводим текст внутри этих элементов
for title in titles:
    print(title.text)

Здесь мы используем параметр class_, чтобы указать, что ищем элементы с определенным CSS-классом. Это очень удобно, если на странице много однотипных элементов, и нужно получить только те, которые имеют конкретный класс.

Работа с вложенными тегами

BeautifulSoup также позволяет работать с вложенными тегами. Например, мы можем сначала найти определенный блок на странице, а затем искать внутри него другие элементы:

Python:
import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

# Находим основной контент страницы (например, блок с id="main-content")
main_content = soup.find('div', id='main-content')

# Ищем внутри этого блока все заголовки h2
h2_tags = main_content.find_all('h2')

# Выводим текст заголовков
for h2 in h2_tags:
    print(h2.text)

Здесь мы сначала находим блок с id="main-content", а затем внутри него ищем все заголовки h2. Это позволяет точно выбирать нужные элементы на сложных страницах.

BeautifulSoup — это очень мощная библиотека для парсинга HTML и XML документов.
Если будут вопросы - пишите, будем разбираться :)
 
M Оффлайн

mistral

Местный
Участник
LV
2
 
17.09.2024
36
0
20
Награды
3

Репутация:

Спасибо за гайд!
Получается для работы с сайтом и выполнения какого-то конкретного сценария нам нужно изучить его внутреннее устройство (где какая вкладка, кнопка, форма) и далее гонять этот сценарий?
Или парсер нужен для другого?
 
sunilia Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Спасибо за гайд!
Получается для работы с сайтом и выполнения какого-то конкретного сценария нам нужно изучить его внутреннее устройство (где какая вкладка, кнопка, форма) и далее гонять этот сценарий?
Или парсер нужен для другого?
Цели парсера назначаете вы сами :)
Однако если вы говорите про js, то вам нужна третья часть этого гайда.
 
D Оффлайн

Doomdaily

Участник
LV
3
 
26.01.2023
6
0
24
Награды
3
25

Репутация:

Спасибо за гайд , как раз хотел испытать такое
 
A Оффлайн

alexalex4

Участник
LV
2
 
29.09.2024
5
0
11
Награды
2
25

Репутация:

Интересен питон, можно начать с коротких руководств.
 
F Оффлайн

Facece777

Местный
Участник
LV
2
 
20.10.2024
50
0
15
Награды
3
34

Репутация:

Сильно короткий гайд. А если парсить в моногопотоке, и яваскрипт
 
F Оффлайн

fdccqaa

Участник
LV
3
 
16.09.2024
3
0
9
Награды
3
36

Репутация:

Дэмн, знал бы я это неделю назад
 
A Оффлайн

artpulp

Участник
LV
0
 
23.10.2024
2
0
6
48

Репутация:

Класс спасибо большое, очень полезно
 
T Оффлайн

tros95

Участник
LV
0
 
02.11.2024
15
0
7
Награды
1
26

Репутация:

Спасибо, полезные библиотеки, через gpt удобно запросы делать
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх