php抓取网页json数据( 如何利用PHP抓取百度阅读的方法看能)
优采云 发布时间: 2021-10-28 11:16php抓取网页json数据(
如何利用PHP抓取百度阅读的方法看能)
如何用PHP抓取百度阅读的例子
更新时间:2016年12月18日11:06:49投稿:雏菊
我最近在百度阅读上购买了一本电子书《永恒的尽头》,但发现只能在网上或手机端阅读,无法下载并放入kindle。所以我试着看看我是否可以下载这个文章。有需要的朋友可以参考参考,一起来看看吧。
前言
本文文章主要介绍如何使用PHP抓取百度阅读。话不多说,一起来看看吧。
爬取方法如下
首先在浏览器中打开阅读页面,查看源码,发现页面上并没有直接写小说的内容,也就是说小说的内容是异步加载的。
所以把chrome开发者工具切到网络专栏,刷新阅读页面,重点关注XHR和脚本两大类。
经过排查,发现脚本类下有一个jsonp请求,更像是小说内容,请求地址为
返回的是一个jsonp字符串,然后我发现如果去掉地址中的callback=wenku7,返回的是一个json字符串,这样解析起来更容易,可以直接在php中转成数组。
我们再来分析一下返回数据的结构。返回的json字符串为树状结构后,每个节点都有at属性和ac属性。t属性用于指定节点的标签,如h2 div等,c属性是内容,但是有两种可能,一种是字符串,另一种是数组,每个元素的数组是一个节点。
这个结构最好解析,它可以通过递归来完成。
最终代码如下:
<p>