用Python制作爬虫
时间: 2023-05-31 14:04:32 浏览: 57
以下是使用 Python 制作爬虫的基本步骤:
1. 确定目标网站,分析其网页结构和数据类型。
2. 使用 Python 的 requests 库向目标网站发送请求,并获取响应。
3. 解析响应数据,提取需要的信息。常用的解析工具包括 BeautifulSoup、lxml、pyquery 等。
4. 对于需要登录的网站,可以使用模拟登录实现自动登录。
5. 对于需要反爬虫的网站,可以使用代理 IP、随机 User-Agent 等方式进行反反爬虫。
6. 保存所需数据。可将数据保存在本地文件中,也可以使用数据库进行存储。
7. 设置适当的爬虫间隔时间,以避免对目标网站造成过大的负担。
8. 注意合法使用爬虫,遵守网站的爬虫协议和相关法律规定。
示例代码:
使用 requests 库向目标网站发送请求并获取响应:
```
import requests
url = 'https://www.example.com'
response = requests.get(url)
print(response.text)
```
使用 BeautifulSoup 解析响应数据:
```
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'lxml')
title = soup.title.string
print(title)
```
使用模拟登录实现自动登录:
```
import requests
login_url = 'https://www.example.com/login'
data = {'username': 'your_username', 'password': 'your_password'}
response = requests.post(login_url, data=data)
print(response.text)
```
使用代理 IP 和随机 User-Agent 进行反反爬虫:
```
import requests
url = 'https://www.example.com'
proxies = {'http': 'http://127.0.0.1:8888', 'https': 'https://127.0.0.1:8888'}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get(url, proxies=proxies, headers=headers)
print(response.text)
```
保存数据到本地文件:
```
import requests
url = 'https://www.example.com'
response = requests.get(url)
with open('example.html', 'w', encoding='utf-8') as f:
f.write(response.text)
```
保存数据到数据库:
```
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test')
cursor = conn.cursor()
sql = "INSERT INTO example (title, content) VALUES (%s, %s)"
cursor.execute(sql, ('example title', 'example content'))
conn.commit()
cursor.close()
conn.close()
```