給一個例子你看看吧.
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的尼河口網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
if($pro_list_contents=@file_get_contents(''))
{
preg_match_all("/td width=\"50%\" valign=\"top\"(.*)td width=\"10\"img src=\"images\/spacer.gif\"/isU", $pro_list_contents, $pro_list_contents_ary);
for($i=0; $icount($pro_list_contents_ary[1]); $i++)
{
preg_match_all("/a href=\"(.*)\"img src=\"(.*)\".*span(.*)\/span/isU", $pro_list_contents_ary[1][$i], $url_img_price);
$url=addslashes($url_img_price[1][0]);
$img=str_replace(' ', '20%', trim(''.$url_img_price[2][0]));
$price=(float)str_replace('$', '', $url_img_price[3][0]);
preg_match_all("/a class=\"ml1\" href=\".*\"(.*)\/a/isU", $pro_list_contents_ary[1][$i], $proname_ary);
$proname=addslashes($proname_ary[1][0]);
include("inc/db_connections.php");
$rs=mysql_query("select * from pro where Url='$url' and CateId='{$cate_row['CateId']}'"); //是否已經(jīng)采集了
if(mysql_num_rows($rs))
{
echo "跳過:{$url}br";
continue;
}
$basedir='/u_file/pro/img/'.date('H/');
$save_dir=Build_dir($basedir); //創(chuàng)建目錄函數(shù)
$ext_name = GetFileExtName( $img ); //取得圖片后輟名
$SaveName = date( 'mdHis' ) . rand( 10000, 99999 ) . '.' . $ext_name;
if( $get_file=@file_get_contents( $img ) )
{
$fp = @fopen( $save_dir . $SaveName, 'w' );
@fwrite( $fp, $get_file );
@fclose( $fp );
@chmod( $save_dir . $SaveName, 0777 );
@copy( $save_dir . $SaveName, $save_dir . 'small_'.$SaveName );
$imgpath=$basedir.'small_'.$SaveName;
}
else
{
$imgpath='';
}
if($pro_intro_contents=@file_get_contents($url))
{
preg_match_all("/\/h1(.*)\/td\/tr/isU", $pro_intro_contents, $pro_intro_contents_ary);
$p_contents=addslashes(str_replace('src="', 'src="', $pro_intro_contents_ary[1][0]));
$p_contents=SaveRemoteImg($p_contents, '/u_file/pro/intro/'.date('H/')); //把遠程html代碼里的圖片保存到本地
}
$t=time();
mysql_query("insert into pro(CateId, ProName, PicPath_0, S_PicPath_0, Price_0, Contents, AddTime, Url) values('{$cate_row['CateId']}', '$proname', '$imgpath', '$img', '$price', '$p_contents', '$t', '$url')");
echo $url.$img.$cate."br\r\n";
}
}
phpquery和框架并無關(guān)系,我現(xiàn)在也是用CI的
先將pq引入進來
$content = file_get_content('');
phpQuery::newDocumentHTML($content);
$containers = pq("xxxx");就可以了,但你要抓取這個網(wǎng)站數(shù)據(jù),他數(shù)據(jù)是js加載的,所以你只需要
$content = file_get_content(';dataSet.nd=1440145968553dataSet.rows=100dataSet.page=1dataSet.sidx=dataSet.sord=asc');這個地址返回是json數(shù)據(jù),你直接json_decode()就OK
//頁面語句
var?userid?=?getElementById('#username');
var?passwd?=?getElementById('#password');
$.ajax({
url:'后臺處理地址',
dataType:'JSON',
type:'POST',
data:'username='+userid+'passwd='+passwd,
error:?function(){
//post失敗
}
success:?function(data)?{//post成功
if?(data.s=='ok')?{
//成功信息,處理語句
}else?{
//失敗信息,處理語句
}
}
});
//后臺語句
if?(count($volist)??0)?{//有數(shù)據(jù)
......//處理語句
$data?=?array('s'='ok','html'=$html,'page'='span?class="page"'.$show.'/span');
echo?json_encode($data);
}else?{//無數(shù)據(jù)
$html?=?"tr?class='tr'td?class='tc'?colspan='11'暫無數(shù)據(jù),等待添加~!/td/tr";
$data?=?array('s'='no','html'=$html);
echo?json_encode($data);
}
大概是這樣吧
?php
//設(shè)置連接
$DBserver
=
"localhost";
$DBname
=
"數(shù)據(jù)庫";
$DBuser
=
"賬號";
$DBpassword
=
"密碼";
$con
=
mysql_connect("localhost","賬號","密碼");
mysql_select_db("數(shù)據(jù)庫");
$contents
=
file_get_contents($url);
//$contents就是網(wǎng)頁內(nèi)容,$url就是鏈接
$contents
=
mysql_real_escape_string($contents);
//轉(zhuǎn)義,不用可以不要
$SQL="
INSERT
INTO
數(shù)據(jù)庫表(數(shù)據(jù)字段)
VALUES('{$contents}')";
mysql_query($SQL)
or
die(mysql_error());
?
PHP Simple HTML DOM或者phpQuery可以直接取得某些div中的內(nèi)容,里面有幾個例子專門針對于網(wǎng)頁抓取,調(diào)整好抓取頻次,舍去已經(jīng)存在的數(shù)據(jù),你可以參考下
;id=57class=2