WebScraper的几个试用心得

1

什么是WebScraper

Web Scraper 是一个免费的谷歌浏览器扩展程序,它允许用户无需编写代码即可从网站中提取数据。用户通过简单的图形界面操作,就能创建抓取规则,实现对网页上各种信息的抓取,如文本、图片、链接等。

这两天我迷上了用WebScraper抓取网页信息,同事让我帮他写一个类似的插件。

自己做浏览器插件,我发现了一些局限性,特别是页面跳转时不太方便,于是转而使用了更专业的WebScraper插件。

2

其实之前我也尝试过,但总是搞不清楚Element click、Link、Pagination、这几个元素,所以这几天专门花时间研究了一下。

Element元素

简单来说,Element就是单页面里你要抓取的重复元素。几个要点,都要满足:

  1. 单个页面,网址不会发生变化
  2. 元素之间的样式是相同的,通常是class,或者原生标签比如div、ul、li等等。

Element Click元素

Element Click是指页面中需要【点击】之后才能查看信息的元素。关键要点:

  1. 页面的网址不会发生变化,否则会导致计算错误。
  2. 点击后,展示现的元素出来。

比如下面的导航栏中,点击1,才会显示2。

Link元素

Link也是点击元素,但区别在于点击后会跳转到新页面。关键要点:

  1. link元素中,要有链接地址,如果没有的话(比如用js代码跳转),会抓去失败。
  2. link有子元素,会点看链接抓去子元素内容。
  3. 如果没有子元素,就只返回链接地址。

比如点击标题,跳到一个新页面,如果要抓去文章的内容,就用Link。

Pagination

最后是Pagination,也就是导航按钮。点击后可以翻页,浏览不同的内容。关键要点:

  1. 连续的页码按钮
  2. Pagination会点击所有的页码(动态显示的也会点击),只到最后一页。

更多的深度的内容,下一节,再深入分享。

3

 

Link与Pagination元素的使用规则及区别

我仔细研究了一下Link这个元素,发现有几个关键点需要注意。

  1. Link元素里面必须包含超链接,否则无法选择。
  2. Link点击之后的网址也要有变化,如果网址不变,那就不能使用Link元素。
  3. 如果要点击的元素,是通过JavaScript来更改浏览器链接的,那么必须选择最后一项【Link from any script 】来打开链接。

Pagination使用注意事项

Pagination也是点击元素,跳转到不同页面抓去数据,和Links的区别在于:

可以用在JS按钮上

Pagination可以识别出链接和JavaScript的导航条,所以如果是针对导航的话,推荐使用Pagination。

会点开所有的页面

Pagination会针对选择的元素挨个点击,直到把整个页面所有的页面都抓取完成,所以这个时间可能会比较长。

比如有的导航条里面只显示了10个,但实际上可能有2500页,它就要把2500页都抓完。

而Links只会点击看到的这10个按钮。

如何停止Pagination抓取?

可以使用浏览器的网络模拟脱机状态,让Pagination停止

Element click和link的区别

比如,我要点击链接,抓取每个帖子的内容。用Link还是Eelement click?

基本的原则是:

  • 链接改变,用Link
  • 链接不变,有Element click

还有一种情况,点击【更多按钮】,页面链接没有变化,但是内容增加了。

这种情况,有两种方法:

  • 用Pagination翻页(推荐),添加子元素用element抓取数据。
  • Element click翻页,添加子元素用element抓取数据。

用哪个网站来学习比较好?

刚测试了一下,用Excel home网站学习挺不错,里面有各种导航。不过,若使用pagination功能。

使用Pagination的时候注意,若网址发生变化,数据能实时更新,在WebScraper里点击刷新数据即可;

但如果网址未更新,点击刷新数据则无法得到结果。

 

联系作者

公众号:拉小登 | 微博:拉登Dony | B站:拉小登Excel

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注