phpquery和框架并無關(guān)系,我現(xiàn)在也是用CI的
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開發(fā)人員和項(xiàng)目經(jīng)理組成的專業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺設(shè)計(jì)、用戶體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站易于使用并且具有良好的響應(yīng)性。
先將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 Simple HTML DOM或者phpQuery可以直接取得某些div中的內(nèi)容,里面有幾個(gè)例子專門針對(duì)于網(wǎng)頁抓取,調(diào)整好抓取頻次,舍去已經(jīng)存在的數(shù)據(jù),你可以參考下
;id=57class=2
可以用以下4個(gè)方法來抓取網(wǎng)站 的數(shù)據(jù):
1. 用 file_get_contents 以 get 方式獲取內(nèi)容:
?
$url = '';
$html = file_get_contents($url);
echo $html;
2. 用fopen打開url,以get方式獲取內(nèi)容
?
$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函數(shù),以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 // 超時(shí)時(shí)間(單位:s)
)
);
$url = "";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
4、使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經(jīng)打開了curl擴(kuò)展
$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;
由于你沒給出具體的頁面,我只能給你一個(gè)通用的獲取方法,有些頁面可能有多個(gè)表格,這時(shí)需要你多加一些參數(shù)進(jìn)行過濾了,其實(shí)個(gè)人首推正則匹配獲取,示例代碼:
$url?=?"";????//換成你自己需要獲取的頁面地址
$content?=?file_get_contents($url);
preg_matches("/table([.\n]+)\/table/",$contents,$matches);
echo?$matches[0];?//即為表單內(nèi)容
?php
$link=mysql_connect('localhost','用戶名','密碼')or?die("數(shù)據(jù)庫連接失敗");//連接數(shù)據(jù)庫
mysql_select_db('數(shù)據(jù)庫名',$link);//選擇數(shù)據(jù)庫
mysql_query("set?names?utf8");//設(shè)置編碼格式
$q="select?*?from?"數(shù)據(jù)表";//設(shè)置查詢指令
$result=mysql_query($q);//執(zhí)行查詢
while($row=mysql_fetch_assoc($result))//將result結(jié)果集中查詢結(jié)果取出一條
{?echo??返回到HTML;?}
?
html界面使用ajax的成功返回值,再渲染在界面里就行了