PHP: How to download a webpage (aka web scrapping) with PHP PHP: Hogyan lehet letölteni egy weboldal (aka web selejtezésre) a PHP
Posted on 03. Posted on 03. Oct, 2009 by Dragos in Coding , PHP Október, 2009 Dragos a Coding, PHP
There are many ways of downloading web pages, or web content. Sokféle módon lehet letölteni a weboldalakat, illetve webes tartalom. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Én személy szerint szeretném használni cURL az én web selejtezésre kell, de néha én is használni fsockopen és file_get_contents.
Here are 3 different functions that will allow you to download web content. Itt van 3 különböző funkciókat, ami lehetővé teszi, hogy töltsük webes tartalmat.
cURL : gép:
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) Gecko/2008070208 Firefox/3.0.3"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,3); curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 3); $result['data']=curl_exec($ch); $ result [ 'data'] = curl_exec ($ ch); $result['error']=curl_error($ch); $ result [ 'error'] = curl_error ($ ch); curl_close($ch); curl_close ($ ch); return $result; return $ result; } ) else return $result['error']='err'; else return $ result [ 'error'] = 'err'; } )
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 / / Küldés fejlécek $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 [ 'host'],'',$ URL). "\ 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); $ contents .= 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. Amint látod, a legegyszerűbb módja az internetes tartalmak letöltésére használja a file_get_contents függvényt, de ha több lehetőség, főleg, ha dolgozik a fejlécet, akkor cURL a legjobb utat az Ön számára.
No related posts. Nincs kapcsolódó álláshely.
- ferry ardhana komp ardhana












































