如何将python爬取的网站信息存到csv文件中
时间: 2024-03-02 08:53:00 浏览: 74
将爬取的网站信息存储到CSV文件中,可以使用Python内置的csv模块。下面是一个简单示例代码:
```python
import csv
# 爬取的网站信息
data = [
['姓名', '年龄', '性别'],
['张三', '20', '男'],
['李四', '25', '女'],
['王五', '30', '男']
]
# 将数据写入CSV文件
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
```
运行以上代码后,将在同级目录下生成一个名为data.csv的文件,文件内容如下:
```
姓名,年龄,性别
张三,20,男
李四,25,女
王五,30,男
```
在实际使用中,可以将爬取到的数据存储到一个列表中,然后使用csv.writer()方法将数据写入CSV文件中。注意,打开文件时需要指定打开模式为'w',并且设置newline='',这样可以避免写入CSV文件时出现多余的空行。
相关问题
python爬取京东数据存储到csv文件
好的,以下是一个简单的示例代码,可以爬取京东商品信息并将数据存储到CSV文件中:
```python
import requests
import csv
# 设置请求头
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('https://list.jd.com/list.html?cat=9987,653,655', headers=headers)
# 提取商品信息
products = []
for item in response.json()['wareList']:
product = {
'name': item['wname'],
'price': item['jdPrice']['price'],
'comments': item['comments']
}
products.append(product)
# 存储到CSV文件
with open('jd_products.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
fieldnames = ['name', 'price', 'comments']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for product in products:
writer.writerow(product)
```
上面的代码中,我们使用requests库发送HTTP请求,然后解析响应中的JSON数据提取商品信息,最后将数据存储到CSV文件中。在存储CSV文件时,使用了csv模块的DictWriter类,可以方便地将字典数据写入到CSV文件中。
python爬取微博评论数据存入csv文件
可以使用Python中的requests和BeautifulSoup库来爬取微博评论数据,并使用csv库将数据存入csv文件中。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头,模拟浏览器访问
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'}
# 微博评论页面的链接(需要替换成你要爬取的链接)
url = "https://weibo.cn/comment/KpZDxvM3w?uid=2227748373&rl=0&page=1"
# 发送请求
response = requests.get(url, headers=headers)
# 解析页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取所有的评论
comments = soup.find_all('span', class_='ctt')
# 创建csv文件
with open('comments.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
# 写入表头
writer.writerow(['评论'])
# 遍历所有的评论并写入csv文件
for comment in comments:
writer.writerow([comment.text.strip()])
```
以上代码中,我们首先设置了请求头,然后指定要爬取的微博评论页面的链接。接着发送请求并解析页面,获取所有的评论。最后,我们创建一个csv文件并将所有的评论写入其中。
需要注意的是,由于微博评论页面的编码可能不是UTF-8,因此我们在创建csv文件时需要指定编码为utf-8-sig,以避免出现乱码问题。
阅读全文