爬取多列数据并以字典格式存入csv文件
时间: 2024-06-01 07:02:57 浏览: 151
假设你要爬取的数据有三列:名称、价格和数量,可以按照以下步骤进行:
1. 导入所需模块
```python
import csv
import requests
from bs4 import BeautifulSoup
```
2. 发送请求获取数据
```python
url = 'http://example.com'
response = requests.get(url)
html = response.text
```
3. 解析HTML获取数据
```python
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='item')
data = []
for item in items:
name = item.find('h2').text
price = item.find('span', class_='price').text
quantity = item.find('span', class_='quantity').text
row = {'name': name, 'price': price, 'quantity': quantity}
data.append(row)
```
4. 将数据写入CSV文件
```python
with open('data.csv', 'w', newline='') as csvfile:
fieldnames = ['name', 'price', 'quantity']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
```
这样就可以将爬取到的数据存储为CSV文件了。注意,如果爬取到的数据中包含逗号或换行符等特殊字符,需要进行处理。
阅读全文