PHP: How to download a webpage (aka web scrapping) with PHP PHP: Como baixar uma página web (web demolição aka) com PHP
Posted on 03. Postado em 03. Oct, 2009 by Dragos in Coding , PHP Outubro de 2009 por Dragos na Codificação, PHP
There are many ways of downloading web pages, or web content. Há muitas maneiras de baixar páginas web ou conteúdo da web. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Pessoalmente eu gosto de usar cURL para minhas necessidades demolição da web, mas às vezes eu também uso fsockopen e file_get_contents.
Here are 3 different functions that will allow you to download web content. Aqui são 3 diferentes funções que permitirá que você baixar o conteúdo da web.
cURL : cURL:
function getData($url) { function getData ($ url) ( if($url!='localhost' && $url!='http://localhost') { if ($ url! = 'localhost' & & $ url! = 'http://localhost') ( $ch=curl_init(); $ ch = curl_init (); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt ($ ch, CURLOPT_URL, $ url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 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_USERAGENT, "Mozilla/6.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.0.1 Firefox/3.0.3 Gecko/2008070208)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,3); curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 3); $result['data']=curl_exec($ch); $ resultado [ 'data'] = curl_exec ($ ch); $result['error']=curl_error($ch); $ result [ 'error'] = curl_error ($ ch); curl_close($ch); curl_setopt ($ ch); return $result; return $ resultado; } ) else return $result['error']='err'; else return $ result [ 'error'] = 'erram'; } )
fsockopen fsockopen
function getData($url) { function getData ($ url) ( $arr=parse_url($url); $ arr = parse_url ($ url); $fp = fsockopen($arr['host'], 80, $errno, $errstr, 30); $ fp = fsockopen ($ arr [ 'host'], 80, $ errno, $ errstr, 30); if(!$fp) { if (! $ fp) ( return false; return false; }else { ) else ( // send headers / / Enviar os cabeçalhos $out = "GET ".fsockopen($arr['host'], 80, $errno, $errstr, 30)." HTTP/1.1\r\n"; $ out = "GET". fsockopen ($ arr [ 'host'], 80, $ errno, $ errstr, 30). "HTTP/1.1 \ r \ n"; $out .= "Host: ".str_replace('http://'.$arr['host'],'',$url)."\r\n"; $ out .= "Host:". str_replace ( 'http://'. $ arr [ 'url'],'',$ host). "\ r \ n"; $out .= "User-Agent: FSOCKOPEN\r\n"; $ out .= "User-Agent: fsockopen \ r \ n"; $out .= "Connection: Close\r\n\r\n"; $ out .= "Connection: Close \ r \ n \ r \ n"; fwrite($fp, $out); fwrite ($ fp, $ out); while(!feof($fp)) { while (feof! ($ fp)) ( $contents .= fgets($fp, 4096); $ conteudo .= fgets ($ fp, 4096); }; ); fclose($fp); fclose ($ fp); return $contents; return $ contents; } ) } )
file_get_contents file_get_contents
function getData($url) { function getData ($ url) ( return file_get_contents($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. Como você vê a maneira mais fácil de baixar o conteúdo da web está usando a função file_get_contents, mas se precisar de mais opções, especialmente se você está trabalhando com os cabeçalhos, então cURL é a melhor maneira de ir para você.
No related posts. No related posts.
- ferry ardhana ardhana ferry












































