将刚刚的内容保存在一个csv文件里
时间: 2024-02-29 10:57:04 浏览: 20
好的,可以使用Python中的csv模块将数据保存到csv文件中。修改一下上面的代码,添加csv模块的导入和数据保存代码,如下:
```python
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://weibo.com/chengdu?is_hot=1'
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'}
response = requests.get(url, headers=headers)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='WB_detail')
with open('chengdu.csv', mode='w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['标题', '时间', '正文', '点赞数', '转发数'])
for item in items:
title = item.find('div', class_='WB_text W_f14').get_text(strip=True)
time = item.find('div', class_='WB_from S_txt2').find('a')['title']
content = item.find('div', class_='WB_text W_f14').get_text(strip=True)
like = item.find('div', class_='WB_handle').find_all('em')[0].get_text()
share = item.find('div', class_='WB_handle').find_all('em')[1].get_text()
writer.writerow([title, time, content, like, share])
```
这样运行代码后,就会在当前目录下生成一个名为“chengdu.csv”的文件,里面保存了我们抓取到的数据。注意,这里写入csv文件时需要指定编码为utf-8,否则可能会出现中文乱码等问题。