python爬虫模版
时间: 2024-09-05 08:01:21 浏览: 47
Python爬虫模板通常包含以下几个基本部分,用于构建一个简单的爬虫程序:
1. **初始化设置**:包括导入所需的模块和设置请求头等。常用的模块有`requests`用于发起HTTP请求,`BeautifulSoup`或`lxml`用于解析HTML文档,`re`用于正则表达式匹配等。
2. **目标URL设置**:确定要爬取的网站或页面的URL。
3. **发送请求**:使用`requests`库发送HTTP请求到目标URL,获取网页内容。
4. **响应处理**:判断请求是否成功,并进行相应的内容解析。
5. **数据提取**:利用解析库从网页中提取所需数据。
6. **存储数据**:将提取的数据保存到文件、数据库或其他存储方式中。
7. **异常处理**:添加异常处理机制,如遇到网络错误、解析错误等。
8. **循环与延迟**:为了减少对目标服务器的压力,以及避免被封IP,通常在请求之间设置合理的延迟(例如使用`time.sleep()`)。
以下是一个简单的Python爬虫模板示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 目标URL
url = 'http://example.com/'
# 请求头,模拟浏览器访问
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.3'
}
def fetch_page(url):
# 发送GET请求
try:
response = requests.get(url, headers=headers)
# 判断响应状态码
if response.status_code == 200:
return response.text
else:
print('请求失败,状态码:', response.status_code)
except requests.RequestException as e:
print('请求过程中出现错误:', e)
def parse_data(html):
# 解析网页内容
soup = BeautifulSoup(html, 'html.parser')
# 这里根据实际网页结构调整选择器
data_list = soup.select('selector')
return data_list
def main():
html = fetch_page(url)
if html:
data_list = parse_data(html)
# 这里处理提取的数据
for item in data_list:
print(item)
if __name__ == '__main__':
main()
```
阅读全文