豆瓣电影TOP250前25个电影的数据分析(图)

优采云 发布时间: 2021-07-21 00:20

  豆瓣电影TOP250前25个电影的数据分析(图)

  我们抓取了豆瓣电影TOP250的前25部电影的数据。今天我们要对原来的 Web Scraper 配置做一些小改动,让爬虫可以抓取所有 250 部电影数据。

  我们之前也说过爬虫的本质是发现规则。这些程序员在设计网页时,肯定会遵循一些规则。当我们找到规则时,我们就可以预测他们的行为并实现我们的目标。

  今天我们就去寻找豆瓣网站的规则,想办法把所有的数据都抓出来。今天的规则始于经常被忽视的网络链接。

  1.link 分析

  我们先来看看第一页的豆瓣网址链接:

  豆瓣电影Top 250 这显然是豆瓣电影的网址,top250没什么好说的。这是网页内容一目了然。豆瓣前250电影有什么好说的?后面有个start=0&filter。 =, 根据英文提示,好像是说过滤器(filter),从0开始(start)

  

  

  再看第二页的URL链接,前面一样,只是后面的参数变了,变成start=25,从25开始;

  

  

  再看第三页的链接,参数变成start=50,从50开始;

  

  

  分析3个链接,我们可以很容易地得出模式:

  start=0,表示从排名第一的电影开始,播放1-25部电影

  start=25,表示从排名第26的电影开始,播放26-50部电影

  start=50,表示从排名第51的电影开始,播放51-75部电影

  …………

  start=225,表示从排名第 226 的电影开始,播放 226-250 部电影

  很容易找到规则,只要技术提供支持。深入学习,你会发现Web Scraper的操作并不难,但最重要的还是找到规律。

  2.Web Scraper Control 链接参数翻页

  Web Scraper 为这种通过超链接数字分页获取分页数据的网​​页提供了非常方便的操作,即范围说明符。

  例如,您要抓取的网页链接如下所示:

  你可以写[1-3],把链接改成这个,Web Scraper会自动抓取这三个网页的内容。

  当然,你也可以写[1-100],这样你就可以抓取前100个网页了。

  那么我们之前分析的豆瓣网页呢?它不是从 1 增加到 100,而是 0 -> 25 -> 50 -> 75 这样它每 25 跳一次。我该怎么办?

  其实很简单。这种情况可以用[0-100:25]来表示,每25个是一个网页,100/25=4,抓取前4个网页,放到豆瓣电影的场景中。我们只需要将链接更改为如下所示;

  [0-225:25]&filter=

  这样Web Scraper就会抓取TOP250的所有网页。

  3.Grab 数据

  链接问题解决了,接下来就是如何在Web Scraper中修改链接了。很简单,鼠标点两下:

  1.点击Stiemaps,在新面板中点击ID为top250的那一列数据:

  

  

  2.进入新建面板后,找到Stiemap top250 Tab,点击,然后在下拉菜单中点击Edit metadata:

  

  

  3.修改原网址,图中红框是区别:

  

  

  修改超链接后,我们就可以重新抓取网页了。操作同上,这里简单重复一下:

  点击站点地图 top250 下拉菜单中的抓取按钮。在新操作面板的两个输入框中输入2000。单击开始抓取蓝色按钮开始抓取数据。数据抓取结束后,点击面板上的蓝色刷新按钮,检测我们抓取到的数据

  如果你到了这里抓包成功,你会发现已经抓到了所有的数据,但是顺序很乱。

  

  

  这里我们不关心顺序问题,因为这属于数据清洗的内容,我们当前的主题是数据捕获。先完成相关知识点,再攻克下一个知识点,是比较合理的学习方式。

  本期讲了通过修改超链接来抓取250部电影的名字。下一期我们会讲一些简单易行的内容来改变你的想法,说说Web Scraper如何导入别人写的爬虫文件,导出自己写的爬虫软件。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线