- 公布所有抓取网页所需信息
上次我们已经成功获取了单个页面的所有电影的名字,其余的电影信息也如法炮制,上代码先:
1) 添加可以获取其他信息的正则,如下黄色区域显示的部分:
2) 然后在获取的代码中按获取电影名称一样来添加相应的代码:
在写完上面的代码之后,可以再进行一次调试,确保所获得的信息都是自己想要的,并且不存在逻辑错误。
通过获得的每部电影的信息存入到了列表data,然后再通过dataList.append(data)将一部电影的信息列表存到了dataList这个电影集列表里。
获取之后我们可以将该列表中的数据写入到一个Excel文件,这样方便我们后期使用。
2. 保存电影信息到Excel文件
我们添加下面黄色区域的代码,这部分就是将之前保存到dataList列表中的数据保存到Excel文件中。需要特别注意的,也是我们使用xlwt模块的主要代码,整个过程就是模拟我们手动将数据一个个填写到Excel的单元格中,然后保存该Excel文件。需要注意的是,如果要保存的文件“豆瓣电影.xls”已经处于打开状态,则你再想保存文件的时候会自动报错,文件名的扩展名不要写错了。
所有代码执行完之后,我们可以在C盘根目录下看到代码创建的Excel文件“豆瓣电影.xls”,打开看到,我们已经获得了第一页的所有电影的信息:
可以将Excel表中的数据和网页上的信息对比一下,看是否一致,如果不一致就需要进一步调试找出bug。
到此,我们已经成功获取了第一页的所有信息,是不是剩下的9页数据也可以轻松搞定了?那就动手试试吧。
再一个,你觉得之前写的代码是不是有点流水账的感觉?如果你能成功获取10页的电影信息并成功保存到Excel,也可以尝试通过定义函数将代码进一步结构化优化,让我们的代码更容易阅读和后期维护,甚至一些代码的重复利用。
文章源代码可以关注下面微信公众号查看历史文章获取。