PHP: How to download a webpage (aka web scrapping) with PHP PHP: Cum de a descărca o pagină Web (alias fier vechi web) cu PHP
Posted on 03. Postat la data de 03. Oct, 2009 by Dragos in Coding , PHP Octombrie, 2009 de către Dragos în codificare a mărfurilor, PHP
There are many ways of downloading web pages, or web content. Există multe modalităţi de a descărca pagini web, sau de conţinut web. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Mi-a placut de a utiliza cURL pentru nevoile mele de fier vechi de web, dar uneori am, de asemenea, utilizarea fsockopen şi file_get_contents.
Here are 3 different functions that will allow you to download web content. Aici sunt 3 funcţii diferite, care vă va permite să descărcaţi conţinut web.
cURL : Curl:
function getData($url) { getData funcţie ($ 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); $ result [ 'date'] = curl_exec ($ ch); $result['error']=curl_error($ch); $ result [ 'error'] = curl_error ($ ch); curl_close($ch); curl_close ($ ch); return $result; return $ rezultat; } ) 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; } } getData funcţie ($ url) ($ arr = parse_url ($ url); $ fp = fsockopen ($ arr [ 'host'], 80, Eroare $ fp, $ errstr, 30); if (! $) (return false; ) else (/ / trimite headers $ out = "GET". fsockopen ($ arr [ 'host'], 80, $ errno, $ errstr, 30). "HTTP/1.1 \ r \ n"; $ out .= " Host: ". str_replace ( 'http://'. $ arr [ 'gazdă url'],'',$)." \ r \ n "; $ out .=" User-Agent: fsockopen \ r \ n " ; $ out .= "Connection: trage in jos \ r \ n \ r \ n"; fwrite ($ fp, $ out); în timp ce (! feof ($ fp)) ($ conţinutul .= fgets ($ fp, 4096); ); fclose ($ fp); return $ conţinutului;)) file_get_contents file_get_contents
function getData($url) { getData funcţie ($ 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. După cum veţi vedea mai usor mod de a descărca conţinut web este prin folosirea file_get_contents funcţia, dar dacă aveţi nevoie de mai multe opţiuni, mai ales dacă lucraţi cu anteturi, apoi cURL este cel mai bun mod de a merge pentru tine.
Related posts: Legate de posturi:
- ferry ardhana ardhana bac












































