`
wj45
  • 浏览: 44562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP使用curl对ajax型的网页数据进行抓取

阅读更多
好久没写技术博客了,今天兴起写上一篇。
最近安排新来的同事写爬虫抓站,咨询我如何对ajax型的网页数据进行抓取。比如http://www.chewen.com这个站点,“更多新问题”就是发送的ajax请求。
其实抓ajax的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可。利用firebug的网络工具,如图所示:



下面代码就是以车问网站为例,通过curl发送POST请求,获取一页的数据。(其实该url的数据可以直接通过GET获取)
<?php
$opt = "http://www.chewen.com/proc/ajax/getHomeNewQuestion_ajax.jsp";
$post = "lastqid=50934&pgno=1&pagenum=20";
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_URL, $opt);
$rs = curl_exec($curl);
$rs = json_decode($rs);
var_dump($rs);
?>

每次只需要更改参数pgno就相当于更改了分页的页码,然后再经行处理就与抓普通的列表页无异了。
  • 大小: 75 KB
分享到:
评论

相关推荐

    PHP curl 抓取AJAX异步内容示例

    本示例将展示如何使用PHP的curl扩展来抓取AJAX异步内容。 首先,要理解AJAX异步内容抓取与普通页面抓取在技术上并无本质区别。AJAX本质上也是发起一个或多个HTTP请求,区别在于数据是在客户端和服务器之间异步传输...

    使用php方法curl抓取AJAX异步内容思路分析及代码分享

    本文将详细介绍如何使用PHP的cURL库来抓取AJAX异步内容,并提供相应的代码示例。 首先,了解AJAX的工作原理是关键。AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的...

    基于PHP的Googlephp网页搜索抓取源码.zip

    在创建一个Google网页搜索抓取程序时,开发者可能会使用PHP的cURL库。cURL库允许PHP程序发起HTTP请求,模拟用户在浏览器中的行为,如发送GET或POST请求,获取网页内容。在这个项目中,开发者可能通过设置cURL选项来...

    php抓取页面

    如果目标网站使用了AJAX或者其他动态加载技术,传统的网页抓取可能无法获取所有数据。这时,我们可能需要模拟浏览器行为,比如使用cURL设置cookie和headers,或者使用像Guzzle这样的HTTP客户端库来发送更复杂的请求...

    PHP和AJAX打造高级RSS聚合器

    【PHP和AJAX打造高级RSS聚合器】 在Web开发中,RSS聚合器是一个常见的应用,它允许用户收集和查看来自不同来源的RSS订阅。...同时,考虑到性能和安全,还需要对AJAX请求进行适当的优化和错误处理。

    新款简约PHP在线扒站小工具源码 两套在线扒扒站web源码.zip

    JavaScript可以用来处理用户输入,验证数据,或者在无需刷新页面的情况下与服务器进行异步通信(AJAX)。在这种情况下,JavaScript可能被用来处理用户点击事件,触发PHP脚本执行抓取操作。 此外,标签"新款简约PHP...

    PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例

    为了正确抓取数据,需要对目标接口的参数进行分析。比如,itemId代表商品的ID,currentPage代表当前页码,picture参数则用来决定是否显示带有图片的评论。在本实例中,参数picture设置为1意味着要获取带有图片的评论...

    phpQuery_wsnrt3_phpQuery_

    2. **遍历和操作DOM**:你可以使用链式调用来对元素进行操作,如添加、删除、修改属性,以及插入和删除元素。例如,`pq('p').text('新文本')`会改变所有段落的文本内容。 3. **事件处理**:虽然phpQuery主要用于...

    基于PHP的多彩php小说采集系统 v1.0.zip

    多彩PHP小说采集系统可能使用MySQL或SQLite等关系型数据库,通过PDO(PHP Data Objects)进行数据库操作,包括数据的插入、更新和查询。 4. 数据清洗与结构化:采集的原始数据可能存在HTML标签、广告代码等冗余信息...

    php采集功能 需要懂数据库

    - **MySQL**:PHP通常与MySQL数据库配合使用,MySQL是流行的开源关系型数据库管理系统,用于存储和管理采集到的数据。 - **数据交互**:PHP通过PDO(PHP Data Objects)或mysqli扩展与MySQL进行交互,执行SQL语句...

    教你如何用php实现lol数据远程猎取_.docx

    PHP代码片段展示了如何使用simple_html_dom库来抓取数据。这个库允许我们方便地遍历和操作HTML文档对象模型(DOM)。在给定的代码中,我们首先导入simple_html_dom库,然后根据POST参数获取游戏服务器和玩家名称。...

    基于PHP的百度和google搜索引擎源代码PHP版源码.zip

    2. **数据存储**:抓取的网页内容需要存储起来以便后续处理。PHP可以与各种数据库系统交互,如MySQL、PostgreSQL,或者使用NoSQL数据库如MongoDB、Redis,存储大规模非结构化数据。 3. **内容解析**:搜索引擎需要...

    java+.net+js+php 实现cad文件查看和编辑

    此外,AJAX技术可以用来实现无刷新的数据交换,提高用户体验。 PHP是一种常用的服务器端脚本语言,常用于Web开发。在本项目中,PHP可能用于构建后端服务器,处理HTTP请求,与数据库交互,以及与Java或.NET服务进行...

    葵堆小说php小偷网站程序.7z

    2. **HTTP请求与响应**:小偷网站程序通过发送HTTP请求获取目标网站的数据,这涉及了对PHP的cURL库或者file_get_contents函数的使用,来获取远程页面内容。 3. **HTML解析**:抓取到的网页内容通常是HTML格式,因此...

    phpQuery下载

    phpQuery是基于PHP开发的一个强大的网页解析库,它的设计灵感来源于JavaScript库jQuery,因此在使用上有着类似jQuery的语法风格,使得PHP开发者可以方便地在服务器端进行DOM操作,提取和修改HTML或XML文档内容。...

    PHP实例开发源码-NiTuo php站长查询工具.zip

    同时,它可能还利用了PHP的内置函数和类库,如cURL来抓取远程网站数据,DOMDocument来解析HTML结构,或者使用正则表达式进行数据提取。 此外,源码可能还涉及到了用户界面的设计,这通常包括HTML、CSS和JavaScript...

    PHP实例开发源码—Alexa高速查询系统PHP.zip

    这个项目对于想要学习PHP web开发,特别是对数据分析和API接口调用感兴趣的开发者来说,是一个极好的实践案例。 首先,我们要理解Alexa是一个提供全球网站流量和排名信息的服务,它通过收集用户的浏览器数据来评估...

Global site tag (gtag.js) - Google Analytics