phpcurl抓網頁數據問題,聽說內地神人很多,求神人解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpcurl抓網頁數據問題,聽說內地神人很多,求神人解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3320字,纯文字阅读大概需要5分钟。
内容图文
![phpcurl抓網頁數據問題,聽說內地神人很多,求神人解](/upload/InfoBanner/zyjiaocheng/236/74e8ff7983a04d2b8bbcadae21c21859.jpg)
听说内地的神人很多,请各位神人帮帮小弟,来自台湾的小弟已经爬文爬文三天了。
网址:http://www.cbssports.com/mlb/scoreboard
然后,选择下方正在比赛中的赛事,点选GAMETRACKER 就可以看到直播
问题来了
以这个网址为例:(当各位大大看到时,也许赛事已经结束了)
ttp://www.cbssports.com/mlb/gametracker/live/MLB_20140527_TB@TOR
小弟写的程序如下:
$game=array();
$ch = curl_init();
$search1=$_GET['searcharg'];
$url ="http://www.cbssports.com/mlb/gametracker/live/MLB_20140527_TB@TOR";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");
$data = curl_exec($ch);
curl_close($ch);
preg_match_all('/(.*?)<\/span>/is',$data,$teamCity);
….(进行字符串解析)
目前已知问题:
不管是 「另存新檔」save as ,还是 检视原始档 ,一些该出现的html都没有出现,例如:
原网站为:
![](https://img.gxlcms.com/https://img.gxlcms.com//Uploads-s//Uploads-s/new/2019-09-21-201921/1961062.png)
Pitcher:M. Mariot | # 48 RP
Game Stats
0.1 IP
0-0, 5.73 ERA, 11.0 IP, 9 K's, 6 BB
不管是另存新档的网页或是curl 抓出来的结果为
![](https://img.gxlcms.com/https://img.gxlcms.com//Uploads-s//Uploads-s/new/2019-09-21-201921/no-photo-available.jpg)
Pitcher:
Game Stats
上面蓝色代表没有显示出来的,
目前我试过的方式,送cookie!模拟浏览器 ,还是没效,
不知道各位内地的神人有没有解?请给小弟一个方向吧(跪求)
回复内容:
因工作需求,需要抓取别人网站的数据,使用php + curl 但是遇到问题无解
听说内地的神人很多,请各位神人帮帮小弟,来自台湾的小弟已经爬文爬文三天了。
网址:http://www.cbssports.com/mlb/scoreboard
然后,选择下方正在比赛中的赛事,点选GAMETRACKER 就可以看到直播
问题来了
以这个网址为例:(当各位大大看到时,也许赛事已经结束了)
ttp://www.cbssports.com/mlb/gametracker/live/MLB_20140527_TB@TOR
小弟写的程序如下:
$game=array();
$ch = curl_init();
$search1=$_GET['searcharg'];
$url ="http://www.cbssports.com/mlb/gametracker/live/MLB_20140527_TB@TOR";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");
$data = curl_exec($ch);
curl_close($ch);
preg_match_all('/(.*?)<\/span>/is',$data,$teamCity);
….(进行字符串解析)
目前已知问题:
不管是 「另存新檔」save as ,还是 检视原始档 ,一些该出现的html都没有出现,例如:
原网站为:
![](https://img.gxlcms.com/https://img.gxlcms.com//Uploads-s//Uploads-s/new/2019-09-21-201921/1961062.png)
Pitcher:M. Mariot | # 48 RP
Game Stats
0.1 IP
0-0, 5.73 ERA, 11.0 IP, 9 K's, 6 BB
不管是另存新档的网页或是curl 抓出来的结果为
![](https://img.gxlcms.com/https://img.gxlcms.com//Uploads-s//Uploads-s/new/2019-09-21-201921/no-photo-available.jpg)
Pitcher:
Game Stats
上面蓝色代表没有显示出来的,
目前我试过的方式,送cookie!模拟浏览器 ,还是没效,
不知道各位内地的神人有没有解?请给小弟一个方向吧(跪求)
额,不知道你碰到了什么问题,不过我看了下就是简单的抓取,完全没问题啊。另外,解析HTML请不要在用正则了,推荐你用一下 phpQuery 这个库,PHP抓取利器。以你给的网址为例:
include "phpQuery.php";
phpQuery::newDocumentFile("http://www.cbssports.com/mlb/gametracker/live/MLB_20140527_TB@TOR");
echo pq("#current-pitcher")->html();
![phpcurl抓網頁數據問題,聽說內地神人很多,求神人解 - 文章图片]()
我遇到的问题 其实说穿了就是
...我用firbug 或 chrome debug时,所追踪的html 跟我 「检视原始档」和「另存新档」时所看到的资料不同:
目前有赛事 http://www.cbssports.com/mlb/gametracker/live/MLB_20140527_DET@OAK
神人求解
你想要抓去的html内容,是由javascript生成的,抓包工具都不会解析执行javascript的。
解决方法就是用phantomjs,可以跑一个受脚本控制的,无界面的webkit。
内容总结
以上是互联网集市为您收集整理的phpcurl抓網頁數據問題,聽說內地神人很多,求神人解全部内容,希望文章能够帮你解决phpcurl抓網頁數據問題,聽說內地神人很多,求神人解所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】
更多 ►
【phpcurl抓網頁數據問題,聽說內地神人很多,求神人解】教程文章相关的互联网学习教程文章
PHP curl_setopt函数用法介绍【代码】
[导读] curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦。bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值伪造登录主站wap登录和discuz论坛wap登录,两边的用户数据资料在同一个表中进行调用 //参数数组$data = array(‘username’ => ‘username’,‘pa...
php使用cUrl方法 get、post请求【代码】
php使用curl方法,请确保已经开启curl扩展。传送门:http://www.cnblogs.com/wgq123/p/7450667.html/**Curl请求get方法 *@$url String 要请求的url地址 *@$dara Array 要传递的参数 *@$timeout int 超时时间 *@return json /function curlGetRequest($url=‘‘, $data=array(), $timeout=5){if($url == ‘‘ || $timeout <=0){returnfalse;}$param = ‘‘;if(!empty($data)){foreach($dataas$k=>$v){$param .= $k ...
Linux 编译安装 php 扩展包 curl
php源码目录:/root/phpphp编译目录:/usr/local/webserver/php/curl源码目录:/root/curl1.curl,主要用于发送http请求,是php的一个扩展包。2.安装过程:(1)curl下载:http://curl.haxx.se/download.html(2)具体安装过程:解压:tar -zxvf curl.tar.gzcd /(php源码目录,不是php编译目录)/ext/curl运行phpize: /(php编译目录)/bin/phpize./configure --with-php-config=/(php编译目录)/bin/php-config --with-curl=...
PHP CURL获取cookies模拟登录的方法【图】
要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了。利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据。因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了。这其实和论坛的模拟登录一个道理,先POST...
php中通过curl模拟登陆discuz论坛的实现代码
libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。 php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码。 复制代码 代码如下:<?php $discuz_url = ‘http://127.0.0.1/discuz/‘;//论坛地址 $login_url = $discuz_url .‘logging.php?action=login‘;//登录页地址 $post_fi...
PHP curl 简单使用【代码】
<?php//初始化变量$cookie_file = tempnam(‘./‘,‘cookie‘);$ip1 = mt_rand(1,127) . ‘.‘ . mt_rand(1,127) . ‘.‘ . mt_rand(1,127) . ‘.‘ . mt_rand(1,127);$header = array( ‘CLIENT-IP:‘ . $ip1, ‘X-FORWARDED-FOR:‘ . $ip1,);$login_url = ‘http://www.kangyq.com/do.php?ac=Christopher&&ref‘;$refer = ‘space.php?do=home‘;$loginsubmit = ‘登陆‘;$post_fields = ‘user...
curl学习笔记(以php为例)【代码】
一、demo,抓取百度页码代码: $url = ‘https://www.baidu.com/‘;$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_TIMEOUT, 120);$html = curl_exec($ch);curl_close($ch);var_dump($html);二、curl函数介绍:1、curl_init($url):初始化curl回话,返回资源类型2、curl_setopt($c...
php curl【代码】
curl 模拟post提交 1$url = ‘http://localhost/url.php‘;2 3$arr = [4 ‘username‘ => ‘Tom‘,5 ‘age‘ => 20,6 ‘sex‘ => ‘男‘7];8$ch = curl_init();910 curl_setopt($ch, CURLOPT_URL, $url);
11 curl_setopt($ch, CURLOPT_HEADER, 0);
12 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
13 curl_setopt($ch, CURLOPT_POST, 1);
14 curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
1516$data = curl_exec($ch...
[转]考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传【代码】
FROM : https://segmentfault.com/a/1190000000725185最近做的一个需求,要通过PHP调用cURL,以multipart/form-data格式上传文件。踩坑若干,够一篇文章了。重要警告没事不要读PHP的官方中文文档!版本跟不上坑死你!不同版本PHP之间cURL的区别PHP的cURL支持通过给CURL_POSTFIELDS传递关联数组(而不是字符串)来生成multipart/form-data的POST请求。传统上,PHP的cURL支持通过在数组数据中,使用“@+文件全路径”的语法附加文件,...
PHP使用CURL设置header头传参以及设置Content-Type: application/json类型的后台数据接收
CURL函数 public function CurlRequest($url,$data=null,$header=null){ //初始化浏览器 $ch = curl_init(); //设置浏览器,把参数url传到浏览器的设置当中 curl_setopt($ch, CURLOPT_URL, $url); //以字符串形式返回到浏览器当中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //禁止https协议验证域名,0就是禁止验证域名且兼容php5.6 ...
PHP实现curl和snoopy类模拟登陆方法【代码】
Snoopy.class.php下载方法/步骤 第一种:使用snoopy类实现模拟登陆1.在网上下载一个Snoopy.class.php的文件 2.代码实现:<?phpset_time_limit(0);require "Snoopy.class.php";$snoopy=new Snoopy();$snoopy->referer=‘你要模拟登陆的域名‘;//例如:http://www.baidu.com/$snoopy->agent="定义浏览器根";$post[‘username‘] =‘登陆账号‘;//根据你要模拟登陆的网站具体的传值 名称来定$post[‘password‘] =‘登陆密码‘;//根据...
php运行报Call to undefined function curl_init()的解决办法
很早之前就出现过这个问题,网上百度了下,答案千篇一律,都是说:1、在php.ini中开启curl扩展2、将php目录下的libeay32.dll、ssleay32.dll、php5ts.dll拷贝到c:\windows\system32里面(还有一种方法是说在httpd.conf中加上动态链接库,如:LoadFile d:/php/libeay32.dll 和 LoadFile d:/php/ssleay32.dll,但我试过了,同样不起作用)3、重启apache,OK!不知道这些人是不是真的试过而且成功了,就把这些所谓的解决方案往网上分享...
nginx+php下curl请求https报502错【代码】
在做公司项目的时候使用了第三方的API接口,且接口采用的是https请求,在本地的wamp集成环境开发测试正常,放到服务器上结果报错 nginx 502 bad gateway。在论坛中爬楼了几天今天终于找到原因,php版本问题;公司项目线上环境:服务器安装了wdcp其中nginx是1.4.2版本 php是5.2.17版本部署项目上去后,怎么运行都报502错,刚开始怀疑是nginx配置问题,百度了许久说请求https需要ssl于是配置了nginx的ssl后问题依旧,无奈只好继续搜索...
在PHP中使用CURL实现GET和POST请求的方法
1.CURL介绍CURL是一个利用URL语法规定来传输文件和数据的工具.支持很多协议,如HTTP、FTP、TELNET等。幸运的是PHP也支持CURL库。本文将介绍curl的一些高级特性,以及在PHP中如何运用它。2.基本结构在学习更为复杂的功能之前,先来看一下在PHP中建立CURL请求的基本步骤:(1)初始化 curl_init()(2)设置变量 curl_setopt() //最为重要,一切玄妙均在此。有一长串curl参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完...
PHP socket网络编程之使用curl
PHPsocket 网络编程之使用cURLcURl代表客户端URL,是一种专门处理URL的命令行工具。本文介绍cURl打开网页并向其提交数据。【示例】:cURL库被PHP用于向页面传递数据<?PHP//创建cURL事务$url = 'HTTP://localhost/service.php';$curl = curl_init($url);//如果发生错误,直接运行失败curl_setopt($curl,CURLOPT_FAILONERROR,1);//支持重定向curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);//设置是否将处理结果存入一个变量的选项cur...
PHP - 技术教程分类
PHP 教程
PHP 简介
PHP 安装
PHP 语法
PHP 变量
PHP echo/print
PHP EOF(heredoc)
PHP 数据类型
PHP 类型比较
PHP 常量
PHP 字符串
PHP 运算符
PHP If...Else
PHP Switch
PHP 数组
PHP 数组排序
PHP 超级全局变量
PHP While 循环
PHP For 循环
PHP 函数
PHP 魔术常量
PHP 命名空间
PHP 面向对象
PHP 测验
PHP 表单
PHP 表单验证
PHP 表单 - 必需字段
PHP 完整表单实例
PHP $_GET 变量
PHP $_POST 变量
PHP 多维数组
PHP 日期
PHP 包含
PHP 文件
PHP 文件上传
PHP Cookie
PHP Session
PHP E-mail
PHP Error
PHP Exception
PHP 过滤器
PHP 7 新特性
PHP MySQL 简介
PHP MySQL 连接
PHP MySQL 创建数据库
PHP MySQL 创建数据表
PHP MySQL 插入数据
PHP MySQL 插入多条数据
PHP MySQL 预处理语句
PHP MySQL 读取数据
PHP MySQL Where
PHP MySQL Order By
PHP MySQL Update
PHP MySQL Delete
PHP ODBC
AJAX 简介
AJAX PHP
AJAX 数据库
AJAX 实时搜索
AJAX 投票
PHP Array
PHP Calendar
PHP cURL
PHP Date
PHP Directory
PHP Error
PHP Filesystem
PHP Filter
PHP FTP
PHP HTTP
PHP Mail
PHP Math
PHP Misc
PHP MySQLi
PHP PDO
PHP String
PHP Zip
PHP Timezones
PHP 图像处理
PHP RESTful
PHP PCRE
PHP 可用的函数
PHP Composer
php 全部
PHP - 最新教程