iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
自我挑戰組

30天認識爬蟲系列 第 22

[Day22] 應用代理IP

  • 分享至 

  • xImage
  •  

今天是第二十二天,我的目標是使用代理 IP 抓取網頁,增強爬蟲的穩定性和隱私性。
需要用到的工具:

  • Python 3
  • Requests
    1.安裝 Requests庫,如果還沒安裝 Requests,可以使用以下命令:
pip install requests

2.獲取代理IP,有很多提供免費代理 IP 的網站,例如:

  • Free Proxy List
  • ProxyScrape
    可以從這些網站獲取一組可用的代理 IP。

3.編寫使用代理的爬蟲腳本,下面是一個簡單的 Python 腳本範例,用於使用代理 IP 抓取網頁內容:

import requests
from bs4 import BeautifulSoup

url = 'YOUR_TARGET_URL'
proxies = {
    'http': 'http://YOUR_PROXY_IP:PORT',
    'https': 'http://YOUR_PROXY_IP:PORT'
}

def fetch_content(url, proxies):
    try:
        response = requests.get(url, proxies=proxies, timeout=10)
        response.raise_for_status()  # 如果請求失敗,將引發 HTTPError
        return response.content
    except requests.exceptions.RequestException as e:
        print(f'Error: {e}')
        return None

if __name__ == '__main__':
    content = fetch_content(url, proxies)
    if content:
        soup = BeautifulSoup(content, 'html.parser')
        print(soup.title.text)  # 打印頁面標題

4.執行腳本 將上面的代碼保存在一個Python文件中(例如 proxy_scraper.py),然後在終端中運行:

python proxy_scraper.py

5.驗證代理是否有效,如果代理 IP 不可用,檢查代理列表,並更換為其他可用的代理 IP,我們可以使用代理檢查網站來確認代理是否工作正常。


上一篇
[Day21] 實作:抓取商品價格變化
下一篇
[Day23] Captcha識別技術
系列文
30天認識爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言