PHPcurl抓取AJAX异步内容(转载)
其实抓ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可。
利用Firebug的网络工具
如果抓去的是页面,则内容中没有显示的数据,是一堆JS代码。
Code
$cookie_file=tempnam('./temp','cookie'); $ch = curl_init(); $url1 = "http://www.cdut.edu.cn/default.html"; curl_setopt($ch,CURLOPT_URL,$url1); curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_ENCODING ,'gzip'); //加入gzip解析 //设置连接结束后保存cookie信息的文件 curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); $content=curl_exec($ch);curl_close($ch);$ch3 = curl_init(); $url3 = "http://www.cdut.edu.cn/xww/dwr/call/plaincall/portalAjax.getNewsXml.dwr"; $curlPost = "callCount=1&page=/xww/type/1000020118.html&httpSessionId=12A9B726E6A2D4D3B09DE7952B2F282C&scriptSessionId=295315B4B4141B09DA888D3A3ADB8FAA658&c0-scriptName=portalAjax&c0-methodName=getNewsXml&c0-id=0&c0-param0=string:10000201&c0-param1=string:1000020118&c0-param2=string:news_&c0-param3=number:5969&c0-param4=number:1&c0-param5=null:null&c0-param6=null:null&batchId=0"; curl_setopt($ch3,CURLOPT_URL,$url3); curl_setopt($ch3,CURLOPT_POST,1); curl_setopt($ch3,CURLOPT_POSTFIELDS,$curlPost);//设置连接结束后保存cookie信息的文件 curl_setopt($ch3,CURLOPT_COOKIEFILE,$cookie_file); $content1=curl_exec($ch3); curl_close($ch3);
我是天王盖地虎的分割线
转载于:https://www.cnblogs.com/xchsp/p/4287800.html
PHPcurl抓取AJAX异步内容(转载)相关推荐
- c 抓取ajax异步数据,用requests.post提交表单抓取异步ajax信息失败
python爬虫之后,为什么出现了信息不一致,在浏览器中直接查看的信息与最后经过爬虫之后数据不一致. 代码 import requests from bs4 import BeautifulSoup ...
- 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]
利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...
- 如何让搜索引擎抓取AJAX内容
2019独角兽企业重金招聘Python工程师标准>>> 越来越多的网站,开始采用"单页面结构"(Single-page application). 整个网站只有一 ...
- 用C#抓取AJAX页面的内容
用C#抓取AJAX页面的内容[转] 现在的网页有相当一部分是采用了AJAX技术,不管是采用C#中的WebClient还是HttpRequest都得不到正确的结果,因为这些脚本是在服务器发送完毕后才执行 ...
- C#利用phantomJS抓取AjAX动态页面
在C#中,一般常用的请求方式,就是利用HttpWebRequest创建请求,返回报文.但是有时候遇到到动态加载的页面,却只能抓取部分内容,无法抓取到动态加载的内容. 如果遇到这种的话,推荐使用phan ...
- 简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页
爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 1.什么是ajax异步数据交换网页 2.用到的工具模块和简单解释 3.网页内容解析 4.代码实现及解释 1.什么是ajax异步数据交换网页 ...
- 爬虫Spider 05 - 代理参数-proxies | 控制台抓包 | requests.post() | 动态加载数据抓取-Ajax
文章目录 Spider 04回顾 requests.get()参数 常见的反爬机制及处理方式 Spider 05笔记 代理参数-proxies **控制台抓包** **requests.post()参 ...
- python爬虫搜特定内容的论文_python基于BeautifulSoup实现抓取网页指定内容的方法...
python基于BeautifulSoup实现抓取网页指定内容的方法 更新时间:2015年07月09日 10:12:50 作者:光索与诺 这篇文章主要介绍了python基于BeautifulSoup实 ...
- python 抓取天涯帖子内容并保存
python 抓取天涯帖子内容并保存 作者:大捷龙 csdn : http://blog.csdn.net/koanzhongxue ** 分析:天涯的帖子下载可以分为以下几个步骤 手动传入一个帖子首 ...
最新文章
- Java8 Stream流递归,几行代码搞定遍历树形结构
- 字符串匹配的KMP算法
- TensorFlow 笔记4--使用tensorboard
- MySQL中将多行查询结果合并为一行展示SQL语句书写
- 程序异常exitcode非0_ARM寄存器分析以及异常处理方法
- 总结-变量命名变量提升运算符判断函数数组对象数据类型
- java.util.NoSuchElementException: None.get的解决方法
- 使用Appium进行Android自动化测试遇到编译不成功的错误处理
- 极域电子教室中计算机图标对齐,极域电子教室使用手册整理,新手必备
- 基于python的异方差检验_【Python】统计科学之讲讲异方差的检验
- Word如何删除尾注的横线(Office 2003)
- 广告行业中那些趣事系列43:小布语音助手知识问答比赛优化实践
- 怎样在百度UMeditor编辑器中插入腾讯和爱奇艺网站视频?
- 膨胀卷积的缺点_卷积、反卷积与膨胀卷积
- 基于 python 和 UDP 协议实现简易聊天室(多人群聊)----详细解析带字幕
- c语言51单片机湿度浇花器,基于51单片机的室内自动浇花系统的制作方法
- linux卸载beyondcompare,CentOS上运行BeyondCompare
- 理解webpack中的devTool的配置项
- 航模遥控继电器单通道控制2路继电器开关实现原理解析
- 七牛云 RTN:基于 WebRTC 零基础搭建实时音视频平台