python爬虫csv

练习:将电影列表写入到movie.csv文件中 内容如下
〔八角笼中!,2023-5-231;10.4亿:11,『捉妖记2,2022-10-3',5.8亿乙;3],『红海行动;2022-6-13,23.2亿;41
[奥本海默,2023-7-181;7800千万1,2]
读取movie.csv文件,形成字典结构
Gid':编号,mname':电影名!,mtotal':总票房,mtime':上映
时间’

【以下回答由 GPT 生成】

如何使用Python爬虫将电影信息保存到CSV文件中?

问题背景

你想通过Python爬虫将电影信息保存到CSV文件中,并且希望能够从生成的CSV文件中读取数据,以字典的形式进行操作。

解决方案

步骤 1: 导入所需的模块

首先,导入所需的Python模块,包括requests模块和csv模块。

import requests
import csv

步骤 2: 获取电影信息

使用爬虫技术从网站或其他数据源获取电影信息。在这个例子中,我们假设已经获得了电影信息,并将其存储在一个字符串变量movies_data中。

movies_data = "八角笼中!,2023-5-23;10.4亿:11,捉妖记2,2022-10-3,5.8亿乙:3,红海行动,2022-6-13,23.2亿:41\n奥本海默,2023-7-18;7800千万1,2"

步骤 3: 解析电影信息

我们需要将字符串变量movies_data中的电影信息解析成字典的列表。

movies_list = []

# 根据分隔符将电影信息分割成电影项
movies = movies_data.split("\n")

for movie in movies:
    # 根据分号将电影信息分割成电影名称和详细信息部分
    movie_parts = movie.split(";")

    # 解析电影名称
    mname = movie_parts[0]

    # 解析详细信息部分
    details = movie_parts[1]

    # 解析详细信息中的每个字段
    details_list = details.split(",")

    for detail in details_list:
        # 解析每个字段的内容
        detail_parts = detail.split(":")

        if len(detail_parts) == 2:
            # 解析字段内容
            mtime = detail_parts[0]
            mtotal = detail_parts[1]

            # 将电影信息添加到列表中
            movies_list.append({'电影名': mname, '总票房': mtotal, '上映时间': mtime})

步骤 4: 将电影信息保存到CSV文件中

现在,我们将电影信息保存到CSV文件中。

# 设置CSV文件的列名
fields = ['电影名', '总票房', '上映时间']

# 设置CSV文件的路径
csv_file = 'movies.csv'

# 使用csv模块打开CSV文件并写入电影信息
with open(csv_file, 'w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=fields)

    writer.writeheader()  # 写入列名

    for movie in movies_list:
        writer.writerow(movie)  # 写入电影信息

步骤 5: 从CSV文件中读取数据并以字典的形式进行操作

如果你希望从生成的CSV文件中读取数据,并以字典的形式进行操作,你可以使用csv模块读取文件内容。

movies_dict = []

# 使用csv模块打开CSV文件并读取内容
with open(csv_file, 'r', encoding='utf-8') as file:
    reader = csv.DictReader(file)

    for row in reader:
        movies_dict.append(row)  # 将每一行的数据添加到字典列表中

现在,你可以通过movies_dict字典列表来操作和处理电影信息。

总结

通过以上步骤,你可以使用Python爬虫将电影信息保存到CSV文件中,并且可以从CSV文件中读取数据以字典的形式进行操作。记得导入所需模块,解析电影信息并将其保存到CSV文件中。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你可以提供一个网站,基本思路就是通过requests模块请求接口到数据后,再通过lxml或者bs4等模块从网页中获取想要的数据,最后通过pandas模块把清洗后的数据保存到csv文件中