php抓取网页数据

查看:132
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆