」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 建立簡單 Python 網頁抓取應用程式的指南

建立簡單 Python 網頁抓取應用程式的指南

發佈於2024-08-29
瀏覽:439

Guide to Building a Simple Python Web Scraping Application

在Python中抓取Web資料通常涉及向目標網站發送HTTP請求並解析傳回的HTML或JSON資料。 ‌ 下面是一個簡單的網頁抓取應用程式的範例,它使用 requests 庫發送 HTTP 請求並使用 BeautifulSouplibrary 解析 HTML。 ‌

Python建立一個簡單的網頁抓取案例

首先,請確保您已經安裝了 requests 和 beautifulsoup4 庫。如果沒有,您可以使用以下命令安裝它們:‌

pip 安裝請求 beautifulsoup4
然後,您可以編寫以下Python腳本來抓取網路資料:

import requests 
from bs4 import BeautifulSoup 

# URL of the target website 
url = 'http://example.com' 

# Sending HTTP GET request 
response = requests.get(url) 

# Check if the request was successful 
if response.status_code == 200: 
    # Parsing HTML with BeautifulSoup 
    soup = BeautifulSoup(response.text, 'html.parser') 

    # Extract the required data, for example, extract all the titles 
    titles = soup.find_all('h1') 

    # Print title 
    for title in titles: 
        print(title.text) 
else: 
    print('Request failed,status code:', response.status_code) 

在此範例中,我們首先匯入 requests 和 BeautifulSouplibraries。然後,我們定義目標網站的 URL 並使用 requests.get() 方法傳送 HTTP GET 請求。如果請求成功(狀態代碼為 200),我們使用 BeautifulSoup 解析傳回的 HTML 並提取所有

標籤,這些標籤通常包含頁面的主標題。最後,我們列印出每個標題的文字內容。

請注意,在實際的網頁抓取專案中,您需要遵守目標網站的robots.txt檔案規則,並尊重網站的版權和使用條款。另外,有些網站可能會使用反爬蟲技術,例如動態載入內容、驗證碼等,這可能需要更複雜的處理策略。

為什麼需要使用代理進行網頁抓取?

使用代理爬取網站是規避IP限制和反爬蟲機制的常用方法。代理伺服器可以充當中介,將您的請求轉發到目標網站並將回應傳回給您,這樣目標網站只能看到代理伺服器的IP位址,而不是您的真實IP位址。

使用代理程式進行網頁抓取的簡單範例

在Python中,您可以使用requests函式庫來設定代理程式。以下是一個簡單的範例,展示如何使用代理程式發送 HTTP 請求:

import requests 

# The IP address and port provided by swiftproxy 
proxy = { 
    'http': 'http://45.58.136.104:14123', 
    'https': 'http://119.28.12.192:23529', 
} 

# URL of the target website 
url = 'http://example.com' 

# Sending requests using a proxy 
response = requests.get(url, proxies=proxy) 

# Check if the request was successful 
if response.status_code == 200: 
    print('Request successful, response content:‌', response.text) 
else: 
    print('Request failed,status code:‌', response.status_code) 

注意,需要將代理伺服器IP和連接埠替換為實際的代理伺服器位址。另外,請確保代理伺服器可靠並支援您要抓取的網站。某些網站可能會偵測並封鎖來自已知代理伺服器的請求,因此您可能需要定期變更代理伺服器或使用更進階的代理服務。

版本聲明 本文轉載於:https://dev.to/lewis_kerr_2d0d4c5b886b02/guide-to-building-a-simple-python-web-scraping-application-aj3?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3