如何用Python做一个爬虫?(源码)
时间: 2024-10-24 15:13:49 浏览: 21
在Python中制作一个简单的爬虫通常需要以下几个步骤:
1. **安装必要的库**:
首先,你需要安装`requests`库用于发送HTTP请求,以及`BeautifulSoup`或`pandas`来解析HTML内容。可以使用pip来安装:
```bash
pip install requests beautifulsoup4 pandas (or lxml for advanced parsing)
```
2. **发送GET请求**:
使用`requests.get()`函数获取网页的HTML内容:
```python
import requests
url = 'https://www.example.com'
response = requests.get(url)
html_content = response.text
```
3. **解析HTML**:
对于`BeautifulSoup`:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'lxml') # 或者 'html.parser'
```
或者对于`pandas`(适用于数据提取而非全文解析):
```python
data_df = pd.read_html(response.text)[0] # 如果只有一个表格
```
4. **提取信息**:
根据页面结构找到需要的数据元素,并保存到列表、字典或DataFrame中:
```python
items = soup.find_all('div', class_='item') # 示例中的CSS选择器
for item in items:
title = item.find('h2').text
description = item.find('p').text
print(title, description)
```
5. **存储数据**:
将数据写入文件、数据库或CSV等:
```python
with open('output.txt', 'w') as f:
f.write('\n'.join([title + '\n' + description for title, description in data]))
```
6. **异常处理**:
网络请求可能会失败或返回状态码非200,记得添加错误处理:
```python
if response.status_code == 200:
...
else:
print(f"Error: {response.status_code}")
```
7. **设置代理和反爬机制**(如果需要):
如果网站有反爬策略,可能需要设置代理或者模拟浏览器头。
注意:在实际操作中,请遵守网站的robots.txt规则,并尊重其服务条款。非法爬取可能会导致封禁IP或法律问题。
阅读全文