PHP: How to download a webpage (aka web scrapping) with PHP PHP: Come scaricare una pagina web (aka demolizione web) con PHP
Posted on 03. Posted on 03. Oct, 2009 by Dragos in Coding , PHP Ottobre, 2009 da Dragos in Coding, PHP
There are many ways of downloading web pages, or web content. Ci sono molti modi di scaricare pagine Web, o di contenuti web. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Personalmente mi piace usare cURL per le mie esigenze di demolizione web, ma a volte anche usare fsockopen e file_get_contents.
Here are 3 different functions that will allow you to download web content. Qui ci sono 3 diverse funzioni che ti permetterà di scaricare contenuti web.
cURL : cURL:
function getData($url) { getDataQ funzione ($ 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 (compatible; 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); $ risultato [ 'data'] = curl_exec ($ ch); $result['error']=curl_error($ch); $ result [ 'error'] = curl_error ($ ch); curl_close($ch); curl_close ($ ch); return $result; return $ risultato; } ) else return $result['error']='err'; else return $ result [ 'error'] = 'err'; } )
fsockopen fsockopen
function getData($url) { $arr=parse_url($url); $fp = fsockopen($arr['host'], 80, $errno, $errstr, 30); if(!$fp) { return false; }else { // send headers $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 .= "User-Agent: FSOCKOPEN\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while(!feof($fp)) { $contents .= fgets($fp, 4096); }; fclose($fp); return $contents; } } getDataQ funzione ($ url) ($ arr = parse_url ($ url); $ fp = fsockopen ($ arr [ 'host'], 80, fp $ errno, $ errstr, 30); if ($) (return false; ) else (/ / send headers $ out = "GET". fsockopen ($ arr [ 'host'], 80, $ errno, $ errstr, 30). "HTTP/1.1 \ r \ n"; $ out .= " Host: ". str_replace ( 'http://'. $ arr [ 'url'],'',$ host)." \ 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); ); fclose ($ fp); return $ contents;)) file_get_contents file_get_contents
function getData($url) { getDataQ funzione ($ url) ( return file_get_contents($url); file_get_contents return ($ 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. Come potete vedere il modo più semplice di scaricare contenuti web è quello di utilizzare la funzione file_get_contents, ma se avete bisogno di più opzioni, soprattutto se si lavora con le intestazioni, quindi cURL è il modo migliore per andare per voi.
Related posts: Related posts:
- ferry ardhana Traghetto ardhana












































