Python 网络爬虫入门与实战指南
Python 爬虫主要分为三大板块:抓取数据、分析数据、存储数据。简单来说,爬虫的目标是通过指定的 URL,直接返回用户所需数据,无需人工一步步操作浏览器获取。
1. 环境准备
在开始之前,请确保已安装 Python 3.x 环境。常用的第三方库可以通过 pip 安装:
pip install requests beautifulsoup4 lxml pandas
2. 抓取数据
一般来说,访问网站 URL 给我们返回两种格式数据:HTML 和 JSON。
2.1 无参请求 (GET)
抓取数据的大多数属于 GET 请求,我们可以直接从网站所在服务器获取数据。在 Python 自带模块中,主要有 urllib 及 urllib.request,推荐使用功能更强大的 requests 库。
import requests
url = 'https://example.com/api/data'
response = requests.get(url)
# 检查状态码
if response.status_code == 200:
# 获取二进制内容
content_bytes = response.content
# 获取文本内容
content_text = response.text
# 尝试解析为 JSON
try:
data_json = response.json()
print("JSON Data:", data_json)
except ValueError:
print("Response is not JSON")
else:
print(f"Request failed with status code: {response.status_code}")
2.2 带参请求
此外,还有一种是以带参的形式抓取数据,参数一般附在 URL 结尾,首个参数以 ? 连接,后续参数以 & 连接。使用 params 参数可以让 requests 自动处理编码。
import requests
data = {'data1': 'XXXXX', 'data2': 'XXXXX'}
url = 'https://example.com/search'
# requests 会自动将 dict 转换为 URL 查询字符串
response = requests.get(url=url, params=data)
(response.url)


