国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

php爬取圖片并保存到本地的代碼示例

2020-03-22 20:26:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于php爬取圖片并保存到本地的代碼示例,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

通過(guò)一個(gè)簡(jiǎn)單的例子復(fù)習(xí)一下幾個(gè)php函數(shù)的用法

用到的函數(shù)或知識(shí)點(diǎn)

curl 發(fā)送網(wǎng)絡(luò)請(qǐng)求

preg_match 正則匹配

代碼
$url = http://desk.zol.com.cn/bizhi/7386_91671_2.html $headers = [ user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 $ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //將curl_exec()獲取的信息以字符串返回,而不是直接輸出。curl_setopt($ch, CURLOPT_HEADER, $headers);$output = curl_exec($ch);curl_close($ch);$str = mb_convert_encoding($output, utf-8 , gb2312 //或$str = iconv( gb2312//IGNORE , utf-8 , $output);preg_match( ! img id= bigImg src= (? src http.*/.(? ext jpg|png)) .* ! , $str, $m);file_put_contents( ./meinv. . $m[ ext ], file_get_contents($m[ src ]));
效果

解釋curl 發(fā)送請(qǐng)求

在php中建立curl連接的步驟一般為:初始化,設(shè)置選項(xiàng),執(zhí)行操作,釋放連接。

$ch = curl_init();curl_setopt($ch, CURLOPT, $opt);$out = curl_exec($ch);curl_close();

常用的CURLOPT設(shè)置,更多參考文檔 http://php.net/manual/zh/function.curl-setopt.php

CURLOPT_URL, string //設(shè)置url必須CURLOPT_HEADER, array //設(shè)置請(qǐng)求headerCURLOPT_RETURNTRANSFER, bool //為true時(shí),以字符串返回響應(yīng),不包含headerCURLOPT_SSL_VERIFYPEER, bool //為false時(shí),不驗(yàn)證https證書,用于請(qǐng)求https的urlCURLOPT_POST, int //為1時(shí)配合CURLOPT_POSTFIELDS使用post請(qǐng)求,默認(rèn)使用getCURLOPT_POSTFIELDS, array //post數(shù)據(jù)數(shù)組

直接輸出$output發(fā)現(xiàn)亂碼,通過(guò)查看源碼發(fā)現(xiàn)網(wǎng)頁(yè)使用的是gb2312編碼,用mb_convert_encoding或者iconv轉(zhuǎn)換成utf-8編碼輸出。

preg_match 正則匹配

通過(guò)查看源碼發(fā)現(xiàn)我們需要的圖片標(biāo)簽為 img id= bigImg src= /uploads/allimg/190427/1011191627-2.jpg width= 960 height= 600

正則表達(dá)式

 img id= bigImg src= (? src http.*/.(? ext jpg|png)) .* 

.*匹配所有,(? name )使用分組可以方便的使用$match[ name ]取到想要的部分

最后$match[ src ]拿到了圖片的真實(shí)url,通過(guò)file_put_contents保存,就算完成了

以上就是php爬取圖片并保存到本地的代碼示例的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涟源市| 龙州县| 台东市| 普兰店市| 玛多县| 霍林郭勒市| 宁武县| 尚志市| 榆中县| 乌拉特中旗| 顺昌县| 宕昌县| 镇原县| 乌恰县| 平乡县| 虎林市| 曲阳县| 横山县| 泗洪县| 永定县| 开鲁县| 阜城县| 丰城市| 托里县| 东阿县| 商洛市| 菏泽市| 盐源县| 肥乡县| 齐齐哈尔市| 治多县| 杂多县| 成安县| 吴旗县| 宁都县| 津市市| 玉山县| 轮台县| 榕江县| 鄄城县| 平泉县|