在Python中,使用requests庫進行網頁請求和數據提取的過程可以分為以下幾個步驟:
安裝requests庫: 如果你還沒有安裝requests庫,可以通過以下命令安裝:
pip install requests
發送HTTP請求:
使用requests庫的get()
方法發送一個HTTP GET請求到目標網站。例如:
import requests
url = 'https://example.com'
response = requests.get(url)
檢查請求是否成功: 在處理響應之前,確保請求成功??梢酝ㄟ^檢查響應狀態碼來實現:
if response.status_code == 200:
# 請求成功,繼續處理響應
else:
# 請求失敗,處理錯誤
解析HTML內容: 使用BeautifulSoup庫解析HTML內容。首先安裝BeautifulSoup庫:
pip install beautifulsoup4
然后,使用BeautifulSoup解析HTML:
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
提取數據: 使用BeautifulSoup提供的方法從HTML中提取所需的數據。例如,提取所有的段落文本:
paragraphs = soup.find_all('p')
for p in paragraphs:
print(p.get_text())
以下是一個完整的示例,展示了如何使用requests和BeautifulSoup抓取網站上的文章標題和鏈接:
import requests
from bs4 import BeautifulSoup
url = 'https://example.com/articles'
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
# 提取文章標題
article_titles = soup.find_all('h2', class_='title')
for title in article_titles:
print(title.get_text())
# 提取文章鏈接
article_links = soup.find_all('a', class_='article-link')
for link in article_links:
print(link['href'])
else:
print(f"請求失敗,狀態碼:{response.status_code}")
請注意,這個示例僅適用于特定的網站結構。你需要根據你要抓取的網站的實際HTML結構來調整選擇器。在實際應用中,還需要考慮異常處理、請求頭設置、反爬蟲策略等問題。