php抓取网页数据
问题描述
我有这样的一些需求,抓取百度外卖商户端的网页https://wmpass.baidu.com/ucen...,但是这个网页是使用模块化前端框架写的,查看源代码就只能看到一些渲染之前的源代码,我用的querylist获取到的不是页面渲染之后的数据,请问这个怎么获取渲染后的源代码,我是需要通过php获取渲染后的html页面,不是浏览器F12查看
这个问题已被关闭,原因:偏离社区主题 - 与技术无关、讨论类、对他人无用
先回答一下,其他回答的疑问吧
恩,我觉得吧,问题的意思是怎么批量抓取由 js 渲染的数据,我举个例子,https://zhuanlan.zhihu.com/p/...
查看源代码,会发现有一个
<textarea id="preloadedState" hidden></textarea >
里面的是原始 json 数据,会由 js 具体获取展示使用 F12 查看,就是查看 js 生成的之后的用户看到的 dom 结构了
所有这两者是有区别的
这里我只是举个例子,数据藏在页面上还好处理,我看到过有其他的,页面先加载框架,然后直接 ajax 一个请求,获取真正的数据,在展示处理。
如果查看某个网页,肯定是使用 F12 ,很简单
如果批量抓取,传统的就是抓取源代码,不一定能获取真正的用户看到的内容。
我的答案
我分享过两篇文章
都不是我写的,我觉得不错,所以分享出来的。
这里一个基本的思路是使用,使用一些 headless 浏览器,比如 phantomjs 有浏览器的功能,可以直接执行 js 代码,然后抓取执行完 js 代码后的内容
。
这篇关于php抓取网页数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!