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