日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP curl_setopt函数用法介绍中篇

發布時間:2025/7/14 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP curl_setopt函数用法介绍中篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

此篇已實例為主。

一.一般的實例

demo1.php

<?php$user = "admin123";$pass = "admin456";// $curlPost = "user=$user&pass=$pass"; #### 測試一
######測試二
$curlPost = array( 'a'=>123,'b'=>456,'c'=>789);$ch = curl_init(); //初始化一個CURL對象curl_setopt($ch, CURLOPT_URL, "demo2.php");//設置你所需要抓取的URLcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//設置curl參數,要求結果是否輸出到屏幕上,為true的時候是不返回到網頁中// 假設上面的0換成1的話,那么接下來的$data就需要echo一下。curl_setopt($ch, CURLOPT_POST, 1);//post提交 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);// echo $data;//運行curl,請求網頁。 curl_close($ch);?>

查看結果:

<?php // echo "aaaaa"; echo "<pre>"; var_dump($_POST); echo "<br/>"; echo $_POST['b'];echo "<br/>";$a = array('1'=>1234,'2'=>567); var_dump($a);?> <?php // 初始化一個 cURL 對象 $curl = curl_init();// 設置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');// 設置header curl_setopt($curl, CURLOPT_HEADER, 1);// 設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 運行cURL,請求網頁 $data = curl_exec($curl);// 關閉URL請求 curl_close($curl);// 顯示獲得的數據 var_dump($data); ?>

?

?二.采集數據信息

在實踐的項目中,要求采集某網站產品列表的信息。右擊網站,查看源碼,發現并無產品信息。通過分析該網站,產品信息是通過ajax調用的。

利用跑數據的形式,獲取產品信息,分析url地址,得到的json形式的產品數據,通過轉換,將產品屬性“對坐入號”獲取,我采用的是插入到數據庫當中。

代碼如下:

?

<?php header('Content-Type:text/html;charset=UTF-8');set_time_limit(0);$id = isset($_GET['id']) ? intval($_GET['id']) : 1;$listurl = "http://www.ptgcn.com/Handler/PublicationHandler.ashx?r=0.38488502931227453&func=GetDataByPCD&index={$id}&size=20&sort=&dir=asc&param="; // echo $listurl; exit; ####默認結束狀態 $ch = curl_init(); // var_dump($ch); // 2. 設置選項,包括URL curl_setopt($ch, CURLOPT_URL, $listurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_HTTPHEADER,array ("Content-Type: text/xml; charset=utf-8","Expect: 100-continue"));// 3. 執行并獲取HTML文檔內容 $output = curl_exec($ch);$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);curl_close($ch); // var_dump($httpCode); if($httpCode == '200'){ // echo "123456";// var_dump($output);$json_b = json_decode($output,true);// var_dump($json_b);$new = $json_b['rows'];// var_dump($new);foreach($new as $row){$catalog ='';$catalog = addslashes(trim($row['CatalogNo']));$catalog = "'". $catalog."'";$url = '';$url = "http://www.ptgcn.com/Products/".trim($row['PermaLink']).".html";$catalog_addr = $url;$catalog_addr = "'".$catalog_addr."'";$pubmed_id ='';$pubmed_id = addslashes(trim($row['PMID']));$pubmed_id = "'".$pubmed_id."'";$author = '';$author = addslashes(trim($row['Author']));$author = "'".$author."'";$journal_a = '';$journal_b = '';$journal = '';$journal_a = addslashes(trim($row['Journal']));$journal_b = addslashes(trim($row['PubDate']));$journal = $journal_a.",".$journal_b;$journal = "'".$journal."'";// $journal = addslashes(trim($row['CatalogNo']));$application = '';$application = addslashes(trim($row['App']));$application = "'".$application."'";$species = '';$species = addslashes(trim($row['Species']));$species = "'".$species."'";$title = '';$title = addslashes(trim($row['Subject']));$title = "'".$title."'";var_dump($row);exit;$con = mysql_connect('localhost',"root","root");mysql_set_charset("utf8");$select = mysql_select_db("wh");$sql = '';$sql = "insert into ptg(catalog,catalog_addr,pubmed_id,author,journal,application,species,title)values({$catalog},{$catalog_addr},
{$pubmed_id},{$author},{$journal},{$application},{$species},{$title})";echo $sql;$query_insert = mysql_query($sql);if($query_insert){echo "success!";}else{$html = '';$html = $html.$catalog."\r\n";file_put_contents('error.txt',$html,FILE_APPEND); //用于裝載執行失敗的數據 }mysql_close($con);// var_dump($con,$select);// exit; } }else{echo 'finished !';exit; }?><script> function JumpUrl() {location.href='?id=<?php echo ($id+1);?>'; } setTimeout('JumpUrl()',1); </script>

說到采集再介紹一種方法:

三.利用phpQuery.采集數據信息

下載地址:http://www.jb51.net/article/59522.htm

?????? git:https://github.com/TobiaszCudnik/phpquery

1.使用場合,右擊某網站,查看源碼,如果源碼信息與網站本身一樣,可以考慮使用phpQuery進行采集

2.phpQuery,顧名思義:及將源碼的編譯方式轉換為jQuery的形式。然后一切調用都使用jQuery風格即可

3.說明:先要引用? include 'phpQuery/phpQuery.php';

如:

?

簡單的三行代碼,就可以獲取頭條內容。首先在程序中包含phpQuery.php核心程序,然后調用讀取目標網頁,最后輸出對應標簽下的內容。

?

pq()是一個功能強大的方法,跟jQuery的$()如出一轍,jQuery的選擇器基本上都能使用在phpQuery上,只要把“.”變成 “->”。

如上例中,pq(".blkTop h1:eq(0)")抓取了頁面class屬性為blkTop的DIV元素,并找到該DIV內部的第一個h1標簽,

然后用html()方法獲取h1標簽里 的內容(帶html標簽),也就是我們要獲取的頭條信息,如果使用text()方法,則只獲取頭條的文本內容。

當然要使用好phpQuery,關鍵是要找 對文檔中對應內容的節點。

4.具體的采集代碼如下:

<?php header('Content-Type:text/html;charset=UTF-8'); include 'phpQuery/phpQuery.php';set_time_limit(0);$id = isset($_GET['id']) ? intval($_GET['id']) : 1;if($id > 14172){echo "finish!";exit; }$con = mysql_connect('localhost',"root","root"); mysql_set_charset("utf8"); $select = mysql_select_db("wh");$sql = "select catalog_addr from ptg where id = {$id}"; $query = mysql_query($sql); $row = mysql_fetch_assoc($query); // var_dump($row); $url = stripslashes(trim($row['catalog_addr'])); $url = str_replace("html","htm",$url); // echo $url; // exit;// echo "aaaaa"; // phpQuery::newDocumentFile('http://helloweba.com/blog.html');
####$url,就是單純的url地址
phpQuery::newDocumentFile($url); // echo "aaaaa"; // exit; $artList = pq(".proTitle");// var_dump($artList);#### No.1 foreach($artList as $li){$one = pq($li)->find('h1')->html();$one = strip_tags($one);$one = trim($one);echo $one.'<br/>'; }#### No.2$artList_a = pq("#dvProApp");foreach($artList_a as $li){$two_a = pq($li) -> find('tr td')->eq(1) ->html();$two_b = pq($li) -> find('tr td')->eq(1) ->find('a') ->html();$two_a = strip_tags($two_a);$two_a = trim($two_a);// var_dump($two_a);// echo '<br/>';$two_b = strip_tags($two_b);$two_b = trim($two_b);// var_dump($two_b);// echo '<br/>';$two = str_replace($two_b,"",$two_a);$two = strip_tags($two);$two = str_replace(" ","",$two);// $two = str_replace(" ","",$two);$two = trim($two);echo $two.'<br/>';// $two = preg_replace('/<(\/?a.*?)>/si','',$two);// echo $two;// exit; }##### N0.3 $artList_b = pq("#dvProApp");foreach($artList_b as $li){$three = pq($li) -> find('tr')->eq(1)->find('td')->eq(1)->html();$three = trim(strip_tags($three));echo $three.'<br/>'; }##### N0.4 $artList_c = pq("#dvProApp");foreach($artList_c as $li){$four = pq($li) -> find('tr')->eq(2)->find('td')->eq(1)->html();$four = trim(strip_tags($four));echo $four.'<br/>'; }##### N0.5 $artList_d = pq("#dvProApp");foreach($artList_d as $li){$five = pq($li) -> find('tr')->eq(3)->find('td')->eq(1)->html();$five = trim(strip_tags($five));echo $five.'<br/>'; }##### N0.6 $artList_e = pq("#dvProImm");foreach($artList_e as $li){$six = pq($li) -> find('tr')->eq(2)->find('td')->eq(1)->html();$six = trim(strip_tags($six));echo $six.'<br/>'; }##### N0.7 $artList_f = pq("#dvProImm");foreach($artList_f as $li){$seven = pq($li) -> find('tr')->eq(2)->find('td')->eq(3)->html();$seven = trim(strip_tags($seven));echo $seven.'<br/>'; }##### N0.8 $artList_g = pq("#dvProImm");foreach($artList_g as $li){$ba = pq($li) -> find('tr')->eq(3)->find('td')->eq(1)->html();$ba = trim(strip_tags($ba));echo $ba.'<br/>'; }##### N0.9 $artList_h = pq("#dvProImm");foreach($artList_h as $li){$nine = pq($li) -> find('tr')->eq(3)->find('td')->eq(3)->html();$nine = trim(strip_tags($nine));echo $nine.'<br/>'; }####執行插入操作 $one = "'".addslashes(trim($one))."'"; $two = "'".addslashes(trim($two))."'"; $three = "'".addslashes(trim($three))."'"; $four = "'".addslashes(trim($four))."'"; $five = "'".addslashes(trim($five))."'"; $six = "'".addslashes(trim($six))."'"; $seven = "'".addslashes(trim($seven))."'"; $ba = "'".addslashes(trim($ba))."'"; $nine = "'".addslashes(trim($nine))."'";$sql_in = "insert into ptg_page(title,house_app,pub_app,spe_spe,pub_spe,gen_num,gen_id,gene_sym,syn)values({$one},{$two},{$three},{$four},{$five},{$six},{$seven},{$ba},{$nine})"; echo $sql_in.'<br/>';$query_in = mysql_query($sql_in);if($query_in){echo "success!"; }else{$html = '';$html = $html.$url."\r\n";file_put_contents('error_url.txt',$html,FILE_APPEND); //用于裝載執行失敗的數據 }mysql_close($con);?><script> function JumpUrl(){location.href='?id=<?php echo ($id+1);?>'; } setTimeout('JumpUrl()',1); </script>

?

總結

以上是生活随笔為你收集整理的PHP curl_setopt函数用法介绍中篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 手机在线免费看av | 国内精品免费视频 | 日美毛片| 日日夜夜草 | 天天操狠狠操 | 欧美色图在线视频 | 成人h动漫精品一区二区下载 | 少妇吹潮 | 亚洲电影一区二区三区 | 91超薄丝袜肉丝一区二区 | 国产精品理论片在线观看 | www日本视频 | 亚洲成人99| 欧美日韩精品在线观看 | 国产免费黄色 | 中文字幕久久久久 | 影音先锋亚洲精品 | 91涩涩视频| 91一区在线| 国产精品视频在线播放 | 日韩一区二区三区中文字幕 | xxxx国产精品 | 波多野结衣办公室双飞 | 一级黄在线观看 | 免费成人在线看 | 娇妻第一次尝试交换的后果 | 欧美日韩一区二区在线视频 | 精品亚洲国产成av人片传媒 | 国产一二三精品 | 黄色av网站在线观看 | 顶级嫩模啪啪呻吟不断好爽 | 精品国产九九 | 欧美精产国品一二三区 | 亚洲欧美国产一区二区三区 | 婷婷色小说 | 一本大道综合伊人精品热热 | 久久综合五月婷婷 | 黄色激情在线 | 超碰97av在线 | 波多野结衣在线影院 | 熟妇高潮一区二区三区在线播放 | 综合精品久久久 | 伊人网大香 | 女同动漫免费观看高清完整版在线观看 | 国内自拍视频在线观看 | 五十路息子 | 亚洲一卡二卡在线观看 | 久久特级毛片 | 亚洲欧洲视频在线观看 | 欧美激情天堂 | 1024av在线| av在线日韩 | 免费观看a视频 | 老色鬼网站 | 日本精品在线播放 | 妖精视频污 | 麻豆视频一区二区 | 国产乱码久久久久 | 日韩美女网站 | www.色欧美 | 欧美极品一区二区三区 | 亚洲特级片 | 久久久久久久久久久影院 | 日本成人免费在线视频 | 国产精品久久久久毛片 | 亚洲黄色a级片 | 国产在线激情 | 国产黄a三级三级三级看三级男男 | 性色av免费 | 91在线免费视频观看 | 色插综合 | 成人免费看| 97日韩精品 | av在线电影网 | av黄色在线观看 | 亚洲va在线∨a天堂va欧美va | 成在线人免费视频 | 国产精品国产三级国产专区51区 | 中文字幕看片 | 国产精品久久影院 | 黄色三级免费 | av导航在线 | 国产在线观看精品 | 日本不卡一二三 | 色屋永久| 一区二区三区成人 | 日日射夜夜操 | 午夜色播| 蜜乳av中文字幕 | 91精品久久久久久久久久入口 | 97久久人人 | 天天插插 | 色吧综合网| 欧美激情h | 激情五月在线观看 | 久久超碰在线 | 亚洲无限观看 | 5566色 | 韩国伦理大全 |