2. 安装完Python以后,如果不出意外,应该是已经安装了pip。通过pip可以非常方便的管理Python第三方包。可以在CMD或者任何shell终端输入pip -V,如果提示了找不到pip命令,说明pip没有安装成功。那么可以通过easy_install install pip来进行安装。
3. requests库。这个库是专门用来做网络请求的。他比Python自带的urllib库好用很多,在urllib3的基础之上做了进一步的封装,让我们写网络请求的时候不要处理一些类似于url编码等相关的无意义的事情。他的slogan是Http for Humans,意思是对人友好的Http请求库,可以说是非常的形象了。这个库不是Python内置的,因此需要通过pip进行安装。安装方式也是非常简单,只要进入cmd或者shell终端,输入pip install requests即可安装。
注:想学习Python的小伙伴们可以关注小编私信回复“资料”即可领取免费学习资料。
6. Django框架。Django框架是Python web开发中一款非常主流的框架。上手快,功能齐全,可以胜任大型网站的任务。他也是集HTTP协议、URL匹配、数据库管理、HTML模版渲染等于一体的框架。数据已经从爬到数据库中了,下一步我们就是使用Django框架实现一个网站,动态的加载数据!根据自己的需求,想做成什么样就做成什么样!Django也是第三方的,需要通过pip install django进行安装。
二、项目架构:
在写具体的代码之前,先来理顺一下整个项目框架的结构。爬虫负责抓取网站的数据,并对抓取下来的数据进行解析和清洗,然后存储到数据库中。之后Django再从数据库中读取数据,并将读取的数据显示在网页中。结构图如下:
1. 数据抓取和解析:在写代码之前,我们首先来分析下电影天堂这个网站,他的首页是包含了各种类型资源的一个组合。我们现在要爬取的是电影信息,因此点击“更多最新电影”跳转到最新电影的列表页面,如下图:
可以看到这个列表页包含了许多我们想要的电影资源,但是我们现在爬,只能爬取到这一页的电影信息,怎么能把其他页面的电影也爬下来呢,这时候就要找到每个页面的url规则了。我们可以看到,第一页电影的URL是:网页链接,第二页电影的URL是:网页链接。所以我们得出一个结论就是,URL的前面部分都是一样的,最后那个数字是几,代表的是第几页。接下来就是去爬详情页面了。详情页的例图如下:
包括电影的信息、海报,都能在这个里面找到。那么数据爬取的代码如下:
2.数据存储:这里我们把爬取下来的数据存储到MySQL数据库中。需要在pipeline中进行实现。示例代码如下:
以上便是爬虫部分的讲解和示例代码演示,当然因为篇幅限制,无法把所有细节都介绍到位。
四、网站实现:
网站这里我们用的是Flask框架。在后台做好数据的提取,在前端做好页面的显示。示例代码如下:
做完后的效果图如下(只是简简单单的做了个demo,UI还需要进一步美化):
五、总结:
这个项目可以说是用到了Python大部分的技术要点。有Python网络爬虫、Scrapy框架、Python web开发、Flask框架等。