抓取网页数据违法吗(webscraper插件插件介绍插件官网(组图)翻3页 )
优采云 发布时间: 2022-04-07 07:00抓取网页数据违法吗(webscraper插件插件介绍插件官网(组图)翻3页
)
背景
我们偶尔需要爬取网页数据,有没有不写代码就可以爬取数据的方法,最近发现了一个webscraper插件
插件介绍
插件官网:
插件口号:让每个人都可以轻松访问网络数据提取
插件安装插件介绍
插件安装后,打开浏览器调试模式,会有这个选项
这里点击“create new sitemap”创建或导入脚本,我们点击New
这里我们以豆瓣为例,填写网站要爬取的姓名地址url
我们先观察一下这个网站,发现当你点击底部的“load more”时,上面url中最后一个page_start会发生变化。再翻几页,我们可以发现规律:第一页的值为0,下一页的值为0。每翻一页,这个值就增加20。
通过查询官方文档,我得到了一个写法:[0-60:20]。前面的 0-60 表示这里的数字在 0 到 60 之间变化。冒号后面的 20 表示步长为 20,每次增加 20。整理就是翻3页,每页有20个条目,共60条数据。所以爬取的url是
#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=rank&page_limit=20&page_start=[0-60:20]
初步了解浏览器插件选择器,这里可以选择对应的爬取类型并设置属性。这个插件的关键在于实践,各种属性在你自己尝试之后会有更深的理解。
常见的网站格式如下,一个网站有链接和子页面,每个页面有很多元素块,每个元素块有多个元素(文本、链接、图片)
所以我们先新建一个元素块,然后在元素块中创建各种元素
如下,图片+文字是一个元素块。建议先按照例子炒一下。
点击此处选择后,即可在浏览器上抓取该元素。选择多个相同元素后,3会不断变化,最后选择4结束选择。
然后开始在元素块中创建新元素。来,先来一张图。具体设置如下。注意父类选择器是前一个选择器。
然后开始爬取,同时设置爬取,最后开始爬取
当开始抓取数据时,页面会重新打开一个新页面。最后爬取完成后,会出现如下图。如果没有出现,点击刷新
这是我们需要的数据,这个数据可以导出为csv格式。至此,我们已经完成了一个抓取数据的例子。最后粘贴本例的代码块,直接导入即可
{"_id":"douban-test","startUrl":["https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=rank&page_limit=20&page_start=[0-60:20]"],"selectors":[{"id":"element","type":"SelectorElementClick","parentSelectors":["_root"],"selector":"a.item","multiple":true,"delay":"200","clickElementSelector":"a.more","clickType":"clickOnce","discardInitialElements":"do-not-discard","clickElementUniquenessType":"uniqueText"},{"id":"name","type":"SelectorElementAttribute","parentSelectors":["element"],"selector":"img","multiple":false,"extractAttribute":"alt","delay":0},{"id":"url","type":"SelectorLink","parentSelectors":["element"],"selector":"_parent_","multiple":false,"delay":0},{"id":"score","type":"SelectorText","parentSelectors":["url"],"selector":"strong","multiple":false,"regex":"","delay":0},{"id":"date","type":"SelectorText","parentSelectors":["url"],"selector":"span[property='v:initialReleaseDate']","multiple":false,"regex":"","delay":0},{"id":"time","type":"SelectorText","parentSelectors":["url"],"selector":"span[property='v:runtime']","multiple":false,"regex":"","delay":0},{"id":"introduction","type":"SelectorText","parentSelectors":["url"],"selector":"#link-report span[property]","multiple":false,"regex":"","delay":0},{"id":"img","type":"SelectorImage","parentSelectors":["element"],"selector":"img","multiple":false,"delay":0}]}