Dụng cụ cạo súp đẹp

Tìm nạp và phân tích HTML thông qua micropip/requests.

Thử trong Trình chỉnh sửa

Tổng quan

Mặc dù các yêu cầu thường yêu cầu ổ cắm hệ điều hành cục bộ nhưngPyRunánh xạ chức năng yêu cầu qua API tìm nạp của trình duyệt.

Điều này cho phép phân tích cú pháp các trang CORS đang mở.

Đầu ra mã & thực thi

Loại bỏ các tiêu đề câu chuyện hàng đầu của Hacker News một cách linh hoạt.

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")
Đầu ra thiết bị đầu cuối
Fetching https://news.ycombinator.com...

=== Hacker News Top Stories ===
1. ...
   Link: ...

2. ...
   Link: ...

Triển khai từng bước

  • Quét web
  • Tổng hợp dữ liệu
  • Kiểm tra SEO

Câu hỏi thường gặp

Tại sao một yêu cầu đôi khi không thành công?

Nếu một trang web có tiêu đề CORS nghiêm ngặt ngăn cản hoạt động tìm nạp của trình duyệt thì trang web đó sẽ không thành công. News.ycombinator hiện cho phép CORS đọc mở.

Chủ đề liên quan