一、爬蟲基礎概念
什么是爬蟲?
網絡爬蟲(Web Crawler)是一種自動獲取網頁內容的程序,它像蜘蛛一樣在互聯網上"爬行",收集和提取數據。
爬蟲應用場景:
-
搜索引擎(Google、百度)
-
價格監控(電商比價)
-
輿情分析(社交媒體監控)
-
數據采集(研究、分析)
二、環境準備
1. 安裝Python
-
官網下載:Download Python | Python.org
-
安裝時勾選"Add Python to PATH"
2. 安裝必要庫(命令行執行)
pip install requests beautifulsoup4 pandas
3. 安裝開發工具(可選)
推薦使用VS Code:Visual Studio Code - Code Editing. Redefined
三、第一個爬蟲:獲取網頁標題
1. 創建文件?first_crawler.py
import requests
from bs4 import BeautifulSoup# 目標網址
url = "https://example.com"# 發送HTTP請求
response = requests.get(url)# 檢查請求是否成功
if response.status_code == 200:# 解析HTML內容soup = BeautifulSoup(response.text, 'html.parser')# 提取網頁標題title = soup.title.stringprint(f"網頁標題: {title}")
else:print(f"請求失敗,狀態碼: {response.status_code}")
2. 運行爬蟲
python first_crawler.py
輸出結果:
網頁標題: Example Domain
四、爬蟲核心組件詳解
1. requests庫 - 發送HTTP請求
# GET請求
response = requests.get(url)# POST請求
response = requests.post(url, data={'key': 'value'})# 添加請求頭(模擬瀏覽器)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
2. BeautifulSoup - 解析HTML
from bs4 import BeautifulSoup# 創建解析器對象
soup = BeautifulSoup(html_content, 'html.parser')# 查找元素
# 通過標簽名
soup.find('div') # 查找第一個div
soup.find_all('a') # 查找所有a標簽# 通過類名
soup.find(class_='header')# 通過ID
soup.find(id='main-content')# 組合查找
soup.find('div', class_='article', id='post-123')
五、爬蟲道德與法律
爬蟲行為準則:
-
尊重robots.txt:檢查目標網站的爬蟲協議
-
限制請求頻率:避免對網站造成過大負擔
-
不爬取敏感信息:如個人隱私、版權內容
-
遵守網站條款:查看網站的使用條款
如何檢查robots.txt:
在網站根目錄后添加/robots.txt,例如:
https://example.com/robots.txt
多說一句:
代碼:title=soup.title.string中的第二個title哪來的?
這個title其實是網頁中的title標簽,如:
這里的內容是WEB里面的相關知識,這里不過多敘述。
注:該代碼是本人自己所寫,可能不夠好,不夠簡便,歡迎大家指出我的不足之處。如果遇見看不懂的地方,可以在評論區打出來,進行討論,或者聯系我。上述內容全是我自己理解的,如果你有別的想法,或者認為我的理解不對,歡迎指出!!!如果可以,可以點一個免費的贊支持一下嗎?謝謝各位彥祖亦菲!!!!