php网站获取数据,获取网站php文件

php怎么抓取其它网站数据

可以用以下4个方法来抓取网站 的数据:

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了绥中免费建站欢迎大家使用!

1. 用 file_get_contents 以 get 方式获取内容:

?

$url = '';

$html = file_get_contents($url);

echo $html;

2. 用fopen打开url,以get方式获取内容

?

$url = '';

$fp = fopen($url, 'r');

stream_get_meta_data($fp);

$result = '';

while(!feof($fp))

{

$result .= fgets($fp, 1024);

}

echo "url body: $result";

fclose($fp);

3. 用file_get_contents函数,以post方式获取url

?

$data = array(

'foo'='bar',

'baz'='boom',

'site'='',

'name'='nowa magic');

$data = http_build_query($data);

//$postdata = http_build_query($data);

$options = array(

'http' = array(

'method' = 'POST',

'header' = 'Content-type:application/x-www-form-urlencoded',

'content' = $data

//'timeout' = 60 * 60 // 超时时间(单位:s)

)

);

$url = "";

$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);

echo $result;

4、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

$url = '';

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

php 怎么POST获取数据?

方法1、最常见的方法是:$_POST['fieldname'];

说明:只能接收Content-Type:

application/x-www-form-urlencoded提交的数据

解释:也就是表单POST过来的数据

方法2、file_get_contents("php://input");

说明:

允许读取

POST

原始数据

$HTTP_RAW_POST_DATA

比起来,它给内存带来的压力较小,并且不需要任何特殊的

php.ini

设置。

php://input

不能用于

enctype="multipart/form-data"。

解释:

对于未指定

Content-Type

的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。

事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括

二进制文件

流也可以。

所以用方法二是最保险的方法

方法3、$GLOBALS['HTTP_RAW_POST_DATA'];

说明:

总是产生

$HTTP_RAW_POST_DATA

变量包含有原始的

POST

数据。

此变量仅在碰到未识别

MIME

类型的数据时产生。

$HTTP_RAW_POST_DATA

对于

enctype="multipart/form-data"

表单数据不可用

如果post过来的数据不是PHP能够识别的,可以用

$GLOBALS['HTTP_RAW_POST_DATA']来接收,

比如

text/xml

或者

soap

等等

解释:

$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。

$_POST或

$_REQUEST

存放的是

PHP以key=value的形式格式化以后的数据。

但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时

必须显式示指明Content-Type:

application/x-www-form-urlencoded,POST的数据才会存放到

$GLOBALS['HTTP_RAW_POST_DATA']中

怎么用php采集网站数据

简单的分了几个步骤:

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库


网页标题:php网站获取数据,获取网站php文件
文章链接:http://scyanting.com/article/hdeggd.html