爬虫(11)——csv的读入写入

本文详细介绍了如何使用Python的csv模块进行CSV文件的读写操作,包括以元组和字典形式写入数据,以及如何从CSV文件中读取特定列的数据。

写入csv文件

#以元组的形式写入
def write_csv1():
    header=["username","age","height"]
    values=[("张三","18","180"),
            ("李四","19","190"),
            ("孙五","20","160")]
    with open("abc.csv",'w',encoding='utf-8',newline='') as fp:#newline=''是为了防止行与行之间有空格,默认为'\n '
        writer=csv.writer(fp)
        writer.writerow(header)#把表头读入
        writer.writerows(values)

#以字典的形式写入
def write_csv2():
    header=["username","age","height"]
    values=[{"name":"张三","Age":"18","height":"180"},
            {"name": "李四", "Age": "19", "height": "190"},
            {"name": "孙五", "Age": "20", "height": "160"}]
    with open("abc.csv",'w',encoding='utf-8',newline='') as fp:#newline=''是为了防止行与行之间有空格,默认为'\n '
        writer=csv.DictWriter(fp,header)
        writer.writeheader()#把表头读入
        writer.writerows(values)

爬虫的读出:
 

def read_csv1():
    with open("abc.csv", "r") as fp:
        reader = csv.reader(fp)  # reader是一个迭代器
        next(reader)  # 不想读取第一行
        for x in reader:
            name = x[1]  # 取第2列
            volumn = x[-1]  # 去最后一列
            print({"name:": name, "volumn": volumn})


def read_csv2():
    with open("文件的名字","r") as fp:
        #reader是一个迭代器,是以字典的形式读出来
        reader=csv.DictReader(fp)
        for x in reader:
            value={"name":x["name"],"volumn":x["volumn"]}
            print(value)

将豆瓣爬虫信息写入CSV文件是一个常见的数据处理任务。CSV(Comma-Separated Values)文件是一种简单的文件格式,用于存储表格数据。以下是一个简单的Python示例,展示了如何将爬虫获取的豆瓣信息写入CSV文件。 首先,确保你已经安装了`requests`和`csv`库。如果没有安装,可以使用以下命令进行安装: ```bash pip install requests ``` 然后,使用以下代码示例: ```python import requests import csv # 假设我们有一个豆瓣电影的URL列表 movie_urls = [ 'https://movie.douban.com/subject/1292052/', 'https://movie.douban.com/subject/1291546/', # 添加更多的电影URL ] # 创建一个CSV文件并写入表头 with open('douban_movies.csv', mode='w', newline='', encoding='utf-8') as file: writer = csv.writer(file) writer.writerow(['Title', 'Rating', 'Synopsis']) # 遍历每个电影URL并获取信息 for url in movie_urls: response = requests.get(url) if response.status_code == 200: # 使用BeautifulSoup解析HTML(需要安装beautifulsoup4库) from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # 获取电影标题 title = soup.find('span', property='v:itemreviewed').text # 获取电影评分 rating = soup.find('strong', class_='rating_num').text # 获取电影简介 synopsis = soup.find('span', property='v:summary').text.strip() # 写入CSV文件 writer.writerow([title, rating, synopsis]) else: print(f'Failed to retrieve {url}') ``` 在这个示例中,我们使用了`requests`库来获取网页内容,并使用`BeautifulSoup`库来解析HTML。你需要先安装`beautifulsoup4`库: ```bash pip install beautifulsoup4 ``` 这个脚本会遍历一个电影URL列表,获取每部电影的标题、评分和简介,并将这些信息写入一个名为`douban_movies.csv`的CSV文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值