80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

时间:2021-02-09 16:05:25

一、下载页面并处理

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

二、提取数据

观察该网站 html 结构

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

可知该页面下所有电影包含在 ol 标签下。每个 li 标签包含单个电影的内容。

使用 XPath 语句获取该 ol 标签

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

在 ol 标签中遍历每个 li 标签获取单个电影的信息。

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

以电影名字为例

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

其余部分详见源码

 三、页面跳转

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

检查“后页”标签。跳转到下一页面

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

返回 None 则已获取所有页面。

四、导入 CSV

创建 CSV 文件

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

其余部分详见源码

五、导入数据库(以 mysql 为例)

先在 mysql 中创建数据库与表,表的属性应与要插入的数据保持一致

连接数据库 db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='syb123', db='douban',charset='utf8')

创建游标 cur = db.cursor()

将获取的电影信息导入数据库

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

六、效果显示

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

80 行代码爬取豆瓣 Top250 电影信息并导出到 CSV 及数据库

因 Windows 系统默认以 ANSI 编码打开 Excel,所以直接用 Excel 打开 csv 文件会出现乱码,需对其重新编码。

以上所有内容可以在 80 行 Python 代码内完成,很简单吧!

源码:https://github.com/AlexRedfield/douban_movies_top250

原文链接:https://segmentfault.com/a/1190000011964958

Python学习交流群:238757010