请教一下关于爬取 vue 页面

2021-02-28 13:50:18 +08:00
 cryboy007

直接抓取页面,显示的是 vue 的代码。网上查了下,没有解决方案。原因是:因为是动态的,传输的是 json.因此只能知道 api 才能拿到数据。那这样的话,如果它的 api 未开外网,是不是代表无法爬取了。只能在浏览器中使用 javaScript 抓取。

2860 次点击
所在节点    问与答
15 条回复
wolfan
2021-02-28 13:51:24 +08:00
既然有 json,为什么不直接搞它?
coolcatha
2021-02-28 13:52:10 +08:00
如果 API 没开外网,你打开 vue 的网页也看不到内容。只要你能看到内容你就能抓
cryboy007
2021-02-28 14:00:26 +08:00
@wolfan 技术太菜,没找到请求。。。
cryboy007
2021-02-28 14:01:41 +08:00
@coolcatha 这样的话,我在找找 0.0
FreeEx
2021-02-28 14:09:02 +08:00
打开控制台,选择 Network,点击下面的 XHR 过滤异步请求。
cryboy007
2021-02-28 14:21:32 +08:00
stx0821
2021-02-28 14:56:00 +08:00
puppeteer
Ptu2sha
2021-02-28 15:01:29 +08:00
发个链接 有时候数据可能是 js 后缀返回的
crab
2021-02-28 15:39:30 +08:00
除非数据是通过 js 又处理的,直接用浏览器渲染方便。
cryboy007
2021-02-28 16:50:25 +08:00
@stx0821 没听说过。
@Ptu2sha 其实就是杨中科大佬的学单词网站、https://bdc2.youzack.com/
@crab 不是很懂。。。
himself65
2021-02-28 17:16:06 +08:00
题主可能技术水平不够没有描述清楚,看你的意思就是前后端是分离的,前端是靠 get 方法获得数据的 JSON 的。

大概就是抓一下包,看看需要什么 header 就行了,理论上什么语言都可以抓
zoikhemlab
2021-02-28 17:35:45 +08:00
不就是这个么 ?
![2021-02-28 17-32-01 屏幕截图.png]( https://i.loli.net/2021/02/28/lVAWcaKXNex9b2i.png)
cryboy007
2021-02-28 17:59:07 +08:00
@himself65 嗯嗯。技术太菜了。发现是转 base64,解决了。0.0
cryboy007
2021-02-28 17:59:42 +08:00
@zoikhemlab 嗯,我抓的是里面的单词。已经找到了,嘿嘿
zszhere
2021-02-28 23:13:45 +08:00
用 burp 抓

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/756936

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX