Передовые тактики парсинга
happypython teamУстановите библиотеку beautifulsoup4 для парсинга HTML и XML:
pip install beautifulsoup4
Установите библиотеку lxml для парсинга XML:
pip install lxml
Установите библиотеку requests для отправки HTTP-запросов:
pip install requests
import requests
url = 'https://www.example.com'
response = requests.get(url)
html_code = response.text
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_code, 'html.parser')
h1_tag = soup.find('h1')# Поиск первого элемента с тегом <h1>
p_tags = soup.find_all('p')# Поиск всех элементов с тегом <p>
my_class_tag = soup.select_one('.my-class')# Поиск первого элемента с классом "my-class"
my_class_tags = soup.select('.my-class')# Поиск всех элементов с классом "my-class"
# Доступ к тексту элемента <h1>
h1_text = h1_tag.text
# Доступ к атрибуту "href" элемента <a>
a_href = soup.find('a')['href']
# Доступ к атрибуту "href" элемента <a> как к ключу словаря
a_attrs = soup.find('a').attrs
a_href = a_attrs['href']
Эти 5 примеров являются основами работы с html парсом, но впереди нас еще ждёт:
- извлечение данных из таблиц: Для таблиц (
<table>), можно использоватьfind_allдля извлечения строк (<tr>) и данных из ячеек (<td>или<th>). - Работа с CSS-селекторами: Методы
select_oneиselectпозволяют применять CSS-селекторы, что делает возможным более точный поиск элементов, включая вложенные селекторы и псевдоклассы. - Парсинг JSONa
Оставайся с нами и ты это не пропустишь!