最近帮小伙伴下载某学习网站的视频。需要对页面内的数据做一次性的抓取。对于是一次性的抓取需要,能不写代码就不写代码,就用 web scraper
这个浏览器插件进行链接抓取。
插件安装
下载链接:
https://chrome.google.com/webstore/detail/web-scraper-free-web-scra/jnhgnonknehpejjnehehllkliplmbmhn
需求分析
需求很简单,要抓取两个页面
先抓取课程页面中所有视频页面的链接
然后在视频页面的中获取视频的真实链接,这里是用的阿里云的 oss
这么简单的抓取,写代码太浪费时间,手动复制又太麻烦。这种场景用插件抓取数据再合适不过了。
插件配置
F12
打开控制台,新建一个 sitemap
保存后可以预览当前页面被选中的元素
以及预览当前的抓取的链接。
获取到一级页面后,需要通过访问抓取的链接去获取视频 url
现在来到视频页面,因为 input
标签是不可见的,所以我们没法像刚才一样通过 select
去获取元素
切换到元素 tab
,右键复制 selector
注意抓取的是标签属性,需要选择 value
这里可以看到我们爬虫 selector
的递进关系
开始抓取数据
遇到阻碍:referer检测
打开第一个页面没有问题,抓取视频页面就会被检测。我搜了下网上的资料,没有解决的办法。
当然 web scraper
本身还不够强大,不支持自定义 header
。如果其他人遇到这种情况,估计就算了,不爬了。
但是我仔细想了想,既然 web scraper
的爬虫本身也是用 Chrome
进行抓取的,那么其他 Chrome
的插件也可以生效才对。所以我尝试用 ModHeader
插件手动给他加一个 referer
头上去。
曲线救国:ModHeader 添加referer头
果然奏效!
成功抓取到数据
导出即可
本文作者:zgao
原文地址:https://zgao.top/web-scraper%ef%bc%9a%e4%b8%8d%e7%94%a8%e5%86%99%e4%bb%a3%e7%a0%81%e7%9a%84%e7%88%ac%e8%99%ab%e6%8f%92%e4%bb%b6/
原文始发于微信公众号(刨洞安全团队):Web Scraper:不用写代码的爬虫插件
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论