c 抓取网页数据( 找豆瓣网站的规律:WebScraper控制链接分析(图))
优采云 发布时间: 2021-10-07 01:27c 抓取网页数据(
找豆瓣网站的规律:WebScraper控制链接分析(图))
这是简单数据分析系列文章的第五篇。
在上一篇文章中,我们爬取了豆瓣电影TOP250前25部电影的数据。今天,我们将对原来的 Web Scraper 配置做一些小改动,让爬虫爬取全部 250 部电影数据。
前面说过,爬虫的本质是发现规则。这些程序员在设计网页时,肯定会遵循一些规则。当我们找到规则时,我们就可以预测他们的行为并实现我们的目标。
今天我们就来寻找豆瓣网站的规则,想办法把所有的数据都抓到。今天的规则始于经常被忽视的网络链接。
1.链接分析
我们先来看看第一页的豆瓣网址链接:
这显然是一个豆瓣电影网址。Top250,没什么好说的,就是网页的内容。豆瓣前250电影无话可说?后面有个start=0&filter=,按照英文提示,好像是filtering(filter),从0开始(start)
查看第二页上的 URL 链接。前面一样,只是后面的参数变了,变成start=25,从25开始;
我们再看第三页的链接,参数变成start=50,从50开始;
分析这三个环节,我们可以很容易地画出一个模式:
start=0,表示从排名第一的电影开始,播放1-25部电影
start=25,表示从排名第26的电影开始,播放26-50部电影
start=50,表示从排名第51的电影开始,显示第51-75部电影
...
start=225,表示从排名第226的电影开始,播放226-250部电影
只要技术提供支持,很容易找到规律。深入学习,你会发现Web Scraper的操作并不难,但最重要的还是找到规律。
2.Web Scraper 控制链接参数翻转
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]&过滤器=
这样,Web Scraper 将抓取 TOP250 的所有网页。
3.获取数据
解决链接问题,下一步就是如何在Web Scraper中修改链接。很简单,鼠标点两下:
1.点击Stiemaps,在新面板中点击ID为top250的那一列数据:
2. 进入新建面板后,找到Stiemap top250 Tab,点击,然后在下拉菜单中点击Edit metadata:
3.修改原网址,图中红框是区别:
修改超链接后,我们就可以再次抓取网页了。操作同上,这里简单重复一下:
单击站点地图 top250 下拉菜单中的抓取按钮。在新操作面板的两个输入框中输入2000。单击开始抓取蓝色按钮开始抓取数据。抓取结束后,点击面板上的蓝色刷新按钮,检测我们抓取的数据。
如果到了这里抓包成功,你会发现已经抓到了所有的数据,但是顺序是乱的。
这里我们不关心顺序问题,因为这属于数据清洗的内容,我们当前的主题是数据捕获。先完成相关知识点,再攻克下一个知识点,是比较合理的学习方式。
本期讲了通过修改超链接来抓取250部电影的名字。下一期我们会讲一些简单易懂的内容来改变你的想法,说说Web Scraper如何导入别人写的爬虫文件,导出自己写的爬虫软件。
4.参考阅读:
简单的数据分析04 | 网络爬虫第一款抢食豆瓣高分电影
5.联系我