Python爬虫(4)获得所有Top250部电影的信息并存入数据库

2023-05-16

上次我们完成了单页电影的获取并保存到了Excel文件中,不知道小伙伴们都完成了没?有没有把Top250部电影都保存下来的?在编写这些代码过程中遇到什么问题了没?如果遇到但是没有解决,或是解决了但不知道原因的请在公众号中发消息给小编,一起讨论,共同进步。

OK,今天继续把所有的电影都获取并保存下来,不过这次保存的位置我们做一些改动,通常情况下,这样有规则的信息我们都保存到数据库中,毕竟Excel文件还是仅限于个人数据存放,而真正的数据库才是相对通用的数据存储办法,好处太多,比如,存储和查询方便,数据的完整性和有效性都更有保障等等。

 

  1. 公布所有电影信息的获取代码

我们已经获取了一页的所有需要的信息,那么再来9页的信息几乎一点困难都没有,不就是通过一个For循环就能搞定吗?

不过,回顾一下我们之前写的代码,虽然功能都实现了,但是整个代码写下来有点流水账的感觉,阅读性和维护性相对较差,如果能以结构化的方式书写,在今后问题排查或是功能扩展都会带来不少便利。所以在这里我们把一些功能单独抽出来写成函数。如下截图:

这样我们把抓取网页信息以及保存信息到数据库或文件分成了几个块,这样我们这个Python文件的程序阅读和维护起来就会非常方便。

首先看AskURL这个函数,通过传参url就可以获取url所指定网页页面信息,而这个信息就是需要我们接下来通过GetData对这些信息进行解析拆分存储到一个列表返回,然后让SaveDataToDB函数来处理存入到数据库中。另外所有这个流程都在main函数中体现,这样只需要通过main函数就可以一目了然知道整个程序的结构以及实现的方法都有哪些。

 

本次代码你可以扫描下方二维码关注微信公众号阅读历史文章获取

 

2. SQLite数据库

 该数据库是Python3之后就默认支持的数据库,它为我们学习和做一些测试提供了很多便利,不太需要过多的关注数据库方面的知识,你只需要知道怎么使用就可以了。

使用 conn = sqlite3.connect(“test.db”) 就可以连接当前目录下存在的test.db数据库文件,如果不存在则会自动创建该文件。

通过获取游标然后执行SQL语句来创建数据表。

 

同样在将获取的数据保存到数据库的时候,通过for循环语句,采用构造INSERT INTO 语句向数据表中添加新的记录。

 

至此,数据库的创建以及记录的保存就已经完成,因为数据库在这里不是我们的重点,这里使用数据库是为了后续我们的引用,后续会讲到通过网页是如何调用我们数据库的记录信息然后通过表、动态图根据用户的选择而实时显示在网页上的。

 

该段代码不是很完美,我只是考虑到数据库以及记录都是一次性创建,后续我们不再动态根据网站而实时更新此数据库,所以并没有考虑到数据表增加,记录增加等,有兴趣可以自行尝试去完善。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫(4)获得所有Top250部电影的信息并存入数据库 的相关文章

随机推荐