python 爬虫通用代码
时间: 2024-08-22 13:02:05 浏览: 50
Python爬虫通用代码通常包括以下几个步骤:
1. **导入库**:首先,你需要导入一些基本的库,如`requests`用于发送HTTP请求获取网页内容,`BeautifulSoup`或`lxml`解析HTML文档,以及可能的`re`用于正则表达式处理。
```python
import requests
from bs4 import BeautifulSoup
```
2. **发送请求**:使用`requests.get()`或其他方法(如POST)向目标URL发送请求,并保存响应内容。
```python
url = 'https://example.com'
response = requests.get(url)
html_content = response.text
```
3. **解析内容**:通过解析工具(如BeautifulSoup)分析HTML结构,找到需要的数据。
```python
soup = BeautifulSoup(html_content, 'lxml')
data_elements = soup.find_all('div', class_='target-class') # 根据实际需求选择标签和属性
```
4. **提取数据**:遍历解析后的元素,提取所需信息。
```python
data_list = []
for element in data_elements:
data = {
'name': element.find('h2').text,
'value': element.find('p').text
}
data_list.append(data)
```
5. **处理数据**:对数据进行清洗、存储或进一步处理,如CSV文件、数据库或JSON格式。
6. **错误处理**:添加适当的异常处理,比如网络连接问题、解析错误等。
```python
try:
# 上述步骤...
except Exception as e:
print(f"抓取失败: {e}")
```
7. **设置延迟和频率限制**:避免频繁请求导致IP被封禁,可以使用`time.sleep()`设置延时。
8. **封装成函数或模块**:将上述代码组织成模块或函数,方便复用和维护。
```python
def fetch_data(url):
# ... 通用爬虫代码 ...
if __name__ == '__main__':
url = input("请输入要爬取的URL: ")
data = fetch_data(url)
# 输出或存储数据
```
阅读全文