PHP: How to download a webpage (aka web scrapping) with PHP ПХП-: Како да преузмете страницу (тзв. Уеб укидање) са ПХП
Posted on 03. Постед он 03.. Oct, 2009 by Dragos in Coding , PHP Окт 2009 бы Драгош у кодирању, ПХП -
There are many ways of downloading web pages, or web content. Постоји много начина за скидање уеб страница, или уеб садржаја. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Лично волим да се користи цурл за моје потребе веб укидање, али понекад и ја користи фсоцкопен и филе_гет_цонтентс.
Here are 3 different functions that will allow you to download web content. Овде су 3 различите функције које ће вам омогућити да преузмете уеб садржаја.
cURL : цурл:
function getData($url) { if($url!='localhost' && $url!='http://localhost') { $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/6.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.3"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,3); $result['data']=curl_exec($ch); $result['error']=curl_error($ch); curl_close($ch); return $result; } else return $result['error']='err'; } гетДата функција ($ УРЛ) (иф ($ УРЛ = 'лоцалхост' & & $ УРЛ! = "хттп://лоцалхост") ($ ЦХ = цурл_инит (); цурл_сетопт ($ цх, ЦУРЛОПТ_УРЛ, $ УРЛ); цурл_сетопт ( $ ЦХ, ЦУРЛОПТ_РЕТУРНТРАНСФЕР, труе); цурл_сетопт ($ цх, ЦУРЛОПТ_УСЕРАГЕНТ "Мозилла/6.0 (цомпатибле; у, Уиндоус НТ 5.1; ср-САД, РВ: 1.9.0.1) Гецко/2008070208 Фирефокс/3.0.3"); цурл_сетопт ($ ЦХ, ЦУРЛОПТ_ФОЛЛОУЛОЦАТИОН, 3); $ резултат [ 'подаци'] = цурл_ексец ($ цх); $ резултат [ 'грешку'] = цурл_еррор ($ цх); цурл_цлосе ($ цх); врати $ резултат;) друго повратак $ резултат [ 'грешку'] = 'заблуди';) fsockopen фсоцкопен
function getData($url) { гетДата функција ($ УРЛ) ( $arr=parse_url($url); $ арр = парсе_урл ($ УРЛ); $fp = fsockopen($arr['host'], 80, $errno, $errstr, 30); $ фп = фсоцкопен ($ арр [ 'домаћина'], 80, $ еррно, $ еррстр, 30); if(!$fp) { ако ($! ФП) ( return false; Ретурн фалсе; }else { друго () // send headers / / Слање заглавља $out = "GET ".fsockopen($arr['host'], 80, $errno, $errstr, 30)." HTTP/1.1\r\n"; $ од = "ДОБИТИ" фсоцкопен ($. арр [ 'домаћина'], 80, $ еррно, $ еррстр, 30) "ХТТП/1.1 \. Р \ н"; $out .= "Host: ".str_replace('http://'.$arr['host'],'',$url)."\r\n"; $ из .= "Домаћин:" стр_реплаце ( 'хттп:// "$. арр ['. домаћин'],'',$ УРЛ адресу)." \ р \ н "; $out .= "User-Agent: FSOCKOPEN\r\n"; $ из .= "Усер-агент: фсоцкопен \ Р \ н"; $out .= "Connection: Close\r\n\r\n"; $ из .= "Веза: Затвори \ Р \ н \ р \ н"; fwrite($fp, $out); фурите ($ фп, $ излаз); while(!feof($fp)) { а (феоф! ($ фп)) ( $contents .= fgets($fp, 4096); $ садржај .= фгетс ($ фп, 4096); }; ); fclose($fp); фцлосе ($ фп); return $contents; врати $ садржај; } ) } )
file_get_contents филе_гет_цонтентс
function getData($url) { гетДата функција ($ УРЛ) ( return file_get_contents($url); повратак филе_гет_цонтентс ($ УРЛ); } )
As you see the easiest way of downloading web content is by using the file_get_contents function, but if you need more options, especially if you are working with the headers, then cURL is the best way to go for you. Као што можете видети најједноставнији начин за скидање уеб садржаја је помоћу филе_гет_цонтентс функцију, али ако вам је потребно више могућности, нарочито ако радите са заглавља, а затим увијте је најбољи начин да се иде за вас.
No related posts. Нема сродних постова.












































