КрасиваяСкребок для Супа
Получайте и анализируйте HTML с помощью micropip/requests.
Обзор
Хотя для запросов обычно требуется сокет локальной ОС,PyRunотображает функциональность запросов через API выборки браузера.
Это позволяет анализировать открытые страницы CORS.
Код и вывод выполнения
Динамически очищает заголовки главных новостей Hacker News.
scraper.py
Попробуйте в редактореimport requests
from bs4 import BeautifulSoup
# PyRun uses micropip internally to make requests
# through the browser's fetch API
url = 'https://news.ycombinator.com'
print(f"Fetching {url}...\n")
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
print("=== Hacker News Top Stories ===")
# Find the story titles
titles = soup.find_all('span', class_='titleline', limit=5)
for i, title in enumerate(titles):
link = title.find('a')
text = link.text
href = link.get('href')
print(f"{i+1}. {text}")
print(f" Link: {href}\n")Терминальный выход
Fetching https://news.ycombinator.com...
=== Hacker News Top Stories ===
1. ...
Link: ...
2. ...
Link: ...Пошаговая реализация
- Веб-скрапинг
- Агрегация данных
- SEO-аудит
Часто задаваемые вопросы
Почему запрос иногда не выполняется?
Если на сайте есть строгие заголовки CORS, препятствующие операциям выборки браузера, он завершится ошибкой. News.ycombinator в настоящее время разрешает открытое чтение CORS.
Связанные темы
Расширенный веб-скребок Python
Создайте продвинутый веб-скребок на Python. Научитесь извлекать данные страницы, обрабатывать блоки пользовательского агента, управлять ограничениями скорости и структурировать выходные данные.
Расширенные шаблоны регулярных выраженийИменованные группы, просмотр вперед и нечеткое сопоставление.