首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Python 爬蟲實戰:如何批量抓取同一 URL 下的多頁面鏈接內容

     編輯:程式設計綜合問答

前言

在進行數據采集時,經常遇到需要從同一域名下的多個頁面提取鏈接內容的場景。本文將通過一個完整的 Python 爬蟲示例,演示如何實現多頁面鏈接的批量抓取與解析。

核心思路

  1. 確定目標 URL 模式:分析分頁參數(如 page=1, page=2)或鏈接規律。
  2. 發送請求獲取響應:使用 requests 庫發起 HTTP 請求,設置合理的 Headers 模擬瀏覽器。
  3. 解析提取鏈接:利用 BeautifulSoup 或 lxml 解析 HTML,定位包含目標鏈接的標簽。
  4. 遍歷與存儲:將提取的鏈接去重後存入列表或數據庫,繼續請求下一頁。

完整代碼示例

import requests
from bs4 import BeautifulSoup
import time

base_url = "https://example.com/list?page="
headers = {"User-Agent": "Mozilla/5.0 ..."}
all_links = []

for page in range(1, 11):  # 假設抓取前 10 頁
    url = base_url + str(page)
    resp = requests.get(url, headers=headers)
    soup = BeautifulSoup(resp.text, 'html.parser')
    # 根據實際頁面結構調整選擇器
    for a in soup.select('.item a[href]'):
        link = a['href']
        if link not in all_links:
            all_links.append(link)
    time.sleep(1)  # 禮貌性延遲

print(f"共獲取 {len(all_links)} 條唯一鏈接")
# 後續可對 each link 發起請求獲取詳細內容

注意事項

  • 遵守 robots.txt 與網站服務條款,控制請求頻率。
  • 處理異常狀態碼、網絡超時與重試邏輯。
  • 動態渲染頁面需引入 Selenium 或 Playwright。

示例圖片

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved