需求:爬取猫眼top100 movie
包含内容 ['序号', ‘电影名称’, ‘主演’, ‘上映日期’, ‘评分’]
数据保存为csv格式文档
步骤:
步骤一:需求拆解
爬取猫眼top movie, 此次实例为selenium方法爬取
包含内容,设计追中输出是一个列表嵌套字典的形式,例如:
result_lst = [ {'序号': 1, '电影名称':XXX,‘主演’:XXX XXX, ‘上映日期’:XXXX-XX-XX, ‘评分‘: X.X},
{'序号': 2, '电影名称':XXX,‘主演’:XXX XXX, ‘上映日期’:XXXX-XX-XX, ‘评分‘: X.X},
{'序号': 3, '电影名称':XXX,‘主演’:XXX XXX, ‘上映日期’:XXXX-XX-XX, ‘评分‘: X.X},
...,
]
使用csv.Dictwriter() 方法将最终的数据结果写入CSV
步骤二:分析页面
最小父级标签为 dl, dl标签下每一个 dd 标签都是一个电影信息
右键查看网页源代码,Ctrl + F 查找dd 标签,发现源代码中有所有需要的信息:
步骤三:匹配最小父级标签,匹配并列子集标签、定义解析公式、获取每一页的信息
dd. text 打印结果
dd. text 可以获取所有dd 子集内的文本,可以将它们以换行符 ’\n‘ 拆分正列表元素
步骤四:翻页
第二页网页的,下一页标签
最后一页网页,没有下一页按钮:
思路:除了最后一页,之前每一页都有“下一页”这个按钮,找到并且点击,进入下一页,实现翻页
最后一页时,继续寻找"下一页" 按钮并且点击,如果找不到,捕获异常报错,并且退出翻页循环
完整代码如下: