КрасиваяСкребок для Супа

Получайте и анализируйте HTML с помощью micropip/requests.

Попробуйте в редакторе

Обзор

Хотя для запросов обычно требуется сокет локальной ОС,PyRunотображает функциональность запросов через API выборки браузера.

Это позволяет анализировать открытые страницы CORS.

Код и вывод выполнения

Динамически очищает заголовки главных новостей Hacker News.

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.

Связанные темы