真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php頁面抓取數(shù)據(jù) php獲取其他網(wǎng)站的cookie

PHP怎樣抓取網(wǎng)頁代碼中動(dòng)態(tài)顯示的數(shù)據(jù)

你是想抓別人網(wǎng)頁上ajax動(dòng)態(tài)載入的數(shù)據(jù)吧?

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、立山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1、要找到它的ajax載入的URL地址

2、利用PHP的file_get_contents($url)函數(shù)讀取那個(gè)url地址。

3、對(duì)抓取到的內(nèi)容進(jìn)行分析或正則過濾。

phpstudy怎么抓取網(wǎng)頁數(shù)據(jù)

什么網(wǎng)頁數(shù)據(jù)?

是打開 本地網(wǎng)頁還是打開網(wǎng)上網(wǎng)頁

如果是本地網(wǎng)頁的話? 在瀏覽器上輸入127.0.0.1或者localhost進(jìn)行訪問

如果是外網(wǎng)我理解的是你要獲取外網(wǎng)的一個(gè)網(wǎng)頁,可以用代碼或者程序來實(shí)現(xiàn)

(一般稱為采集程序,或者小偷程序)

//個(gè)人認(rèn)為curl好一點(diǎn),因?yàn)閏url可以模擬瀏覽器,有的網(wǎng)站會(huì)過濾機(jī)器人

//1.php代碼

//把網(wǎng)頁讀入一個(gè)字符串

$contone?=?file_get_contents('url');

print_r($contone);

//curl采集

#初始化curl??(true/false)

$ch=curl_init();

#請求url地址

$params[CURLOPT_URL]='網(wǎng)址';

#是否返回響應(yīng)頭信息

$params[CURLOPT_HEADER]?=?true;

#是否將結(jié)果返回

$params[CURLOPT_RETURNTRANSFER]?=?true;

#是否重定向

$params[CURLOPT_FOLLOWLOCATION]?=?true;

#偽造瀏覽器

$params[CURLOPT_USERAGENT]?=?'Mozilla/5.0?(Windows?NT?5.1;?rv:9.0.1)?Gecko/20100101?Firefox/9.0.1';

curl_setopt_array($ch,?$params);

$content=curl_exec($ch);

//輸出網(wǎng)頁內(nèi)容

print_r($content);

//下面是整個(gè)curl采集類

class?Curl{

#采集的地址

public?$url;

#匹配的正則

public?$preg;

#模擬登錄需要的用戶名

public?$username;

#模擬登錄需要的密碼;

public?$pwd;

#cookie存儲(chǔ)的路徑

private?$cookie_path;

#采集數(shù)據(jù)的字符集

public?$charset;

/**

*?構(gòu)造方法,初始化采集基本信息

*?@param?$url??采集的url

*?@param?$preg?匹配的正則

*?@param?string?$username??用戶名

*?@param?string?$pwd??密碼

*?@param?string?$charset?字符集

*/

public?function?__construct($info){

extract($info);

$this-url=$url;

$this-preg=$preg;

if(isset($charset)){

header("content-type:text/html;charset=".$this-charset);

}else{

header("content-type:text/html;charset=utf-8");

}

if(isset($username)){

$this-username=$username;

}

if(isset($pwd)){

$this-pwd=$pwd;

}

}

/*

*?采集數(shù)據(jù),非表單提交方式,直接采集的

*/

public?function?get_info(){

#初始化curl

$ch=curl_init();

#請求url地址

$params[CURLOPT_URL]=$this-url;

#是否返回響應(yīng)頭信息

$params[CURLOPT_HEADER]?=?true;

#是否將結(jié)果返回

$params[CURLOPT_RETURNTRANSFER]?=?true;

#是否重定向

$params[CURLOPT_FOLLOWLOCATION]?=?true;

#偽造瀏覽器

$params[CURLOPT_USERAGENT]?=?'Mozilla/5.0?(Windows?NT?5.1;?rv:9.0.1)?Gecko/20100101?Firefox/9.0.1';

//判斷是否有cookie,有的話直接使用

//if?(isset($_COOKIE['cookie_jar'])?($_COOKIE['cookie_jar']?||?is_file($_COOKIE['cookie_jar']))){

//????$params[CURLOPT_COOKIEFILE]?=?$_COOKIE['cookie_jar'];?//這里判斷cookie

//}?else?{

//????$cookie_jar?=?tempnam($this-cookie_path,?'cookie');??????????????????//產(chǎn)生一個(gè)cookie文件

//????$params[CURLOPT_COOKIEJAR]?=?$cookie_jar;???????????????????????//寫入cookie信息

//????setcookie('cookie_jar',?$cookie_jar);?//保存cookie路徑

//}

#開始發(fā)送請求,傳入curl參數(shù)

curl_setopt_array($ch,?$params);

$content=curl_exec($ch);

preg_match_all($this-preg,$content,$arr);

return?$arr;

}

/**

*?采集遠(yuǎn)程圖片

*?@param?$img??圖片路徑??是一個(gè)數(shù)組

*?@param?$save_path???圖片保存在你本地的路徑

*?@return?bool

*/

public?function?get_img($img,$save_path){

for($i=0;$icount($img);$i++)?{

$res=@file_get_contents($img[$i]);

$img_type=substr($img[$i],?strrpos($img[$i],?"."));

$path=$save_path.time().rand(1,9999999).mt_rand()?.$img_type;

$img[$i]?=?$path;

file_put_contents($path,$res);

}

return?$img;

}

//登錄后采集

public?function?register_info(){

//采集的信息需要先登錄的就要先模擬登錄

//設(shè)置cookie保存路徑

$ch?=?curl_init();

//組裝用戶名和密碼

$info['username']?=?$this-username;

$info['password']?=?$this-pwd;

//模擬表單提交

$params[CURLOPT_URL]?=?$this-url;????//請求url地址

$params[CURLOPT_HEADER]?=?true;?//是否返回響應(yīng)頭信息

$params[CURLOPT_RETURNTRANSFER]?=?true;?//是否將結(jié)果返回

$params[CURLOPT_FOLLOWLOCATION]?=?true;?//是否重定向

$params[CURLOPT_USERAGENT]?=?'Mozilla/5.0?(Windows?NT?5.1;?rv:9.0.1)?Gecko/20100101?Firefox/9.0.1';

$postfields?=?'';

//將表單要提交的數(shù)據(jù)編程URL拼接方式

foreach?($info?as?$key?=?$value){

$postfields?.=?urlencode($key)?.?'='?.?urlencode($value)?.?'';

}

$params[CURLOPT_POST]?=?true;

$params[CURLOPT_POSTFIELDS]?=?$postfields;

//判斷是否有cookie,有的話直接使用

if?(isset($_COOKIE['cookie_jar'])($_COOKIE['cookie_jar']||is_file($_COOKIE['cookie_jar']))){

$params[CURLOPT_COOKIEFILE]?=?$_COOKIE['cookie_jar'];?//這里判斷cookie

}else{

$cookie_jar?=?tempnam($this-cookie_path,?'cookie');?//產(chǎn)生一個(gè)cookie文件

$params[CURLOPT_COOKIEJAR]?=?$cookie_jar;?//寫入cookie信息

setcookie('cookie_jar',?$cookie_jar);?//保存cookie路徑

}

curl_setopt_array($ch,?$params);?//傳入curl參數(shù)

$content?=?curl_exec($ch);?//執(zhí)行

return?$content;

}

}

怎么用phpquery抓取網(wǎng)頁實(shí)時(shí)數(shù)據(jù)?使用CI框架

phpquery和框架并無關(guān)系,我現(xiàn)在也是用CI的

先將pq引入進(jìn)來

$content = file_get_content('');

phpQuery::newDocumentHTML($content);

$containers = pq("xxxx");就可以了,但你要抓取這個(gè)網(wǎng)站數(shù)據(jù),他數(shù)據(jù)是js加載的,所以你只需要

$content = file_get_content(';dataSet.nd=1440145968553dataSet.rows=100dataSet.page=1dataSet.sidx=dataSet.sord=asc');這個(gè)地址返回是json數(shù)據(jù),你直接json_decode()就OK

php中想要抓取網(wǎng)頁中某一段的數(shù)據(jù)的代碼

?php

$url='abc.com/';

$data=get_file($url);

$pattern='你的內(nèi)容正則表達(dá)式';

perg_match($pattern,$data,$match);

print_r($match);

function get_file($url)

{

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($curl);

return $data;

}

?


文章名稱:php頁面抓取數(shù)據(jù) php獲取其他網(wǎng)站的cookie
鏈接地址:http://weahome.cn/article/ddooesi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部