This is a translated page. The original can be found here: http://iwebdevel.com/2009/10/03/php-how-to-download-a-webpage-aka-web-scrapping-with-php-fsockopen-file_get_contents-curl-function-download-web-page/
UPDATES VIA RSS | Email Aktualizacje pocztą RSS | Email Get updates via feedburner Get updates via twitter
Home / Coding / PHP / PHP: How to download a webpa… Strona główna / Coding / PHP / PHP: Jak pobrać webpa ...

PHP: How to download a webpage (aka web scrapping) with PHP PHP: Jak pobrać stronę internetową (złomowanie internetowych aka) w PHP

Posted on 03. Zamieszczone w dniu 03. Oct, 2009 by Dragos in Coding , PHP Oct, 2009 Dragos w Coding, PHP

There are many ways of downloading web pages, or web content. Istnieje wiele sposobów pobierania stron internetowych lub stron internetowych. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Osobiście chciałbym używać cURL, dla moich potrzeb złomowanie internetowych, ale czasami również użyć fsockopen i file_get_contents.

Here are 3 different functions that will allow you to download web content. Oto 3 różne funkcje, które pozwolą na pobieranie treści stron internetowych.

cURL : cURL:

 function getData($url) { GetData function ($ 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); $ 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 $ wynik [ 'error'] = "err"; 
 } ) 

fsockopen fsockopen

 function getData($url) { GetData function ($ 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 / / Wyślij nagłówki 
         $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); $ contents .= fgets ($ fp, 4096); 
         }; ); 
         fclose($fp); fclose ($ fp); 
         return $contents; return $ contents; 
     } ) 
 } ) 

file_get_contents file_get_contents

 function getData($url) { GetData function ($ 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. Jak widać najprostszy sposób pobierania zawartości sieci Web jest użycie funkcji file_get_contents, ale jeśli potrzebujesz więcej opcji, szczególnie jeśli pracujesz z nagłówkami, a następnie cURL jest najlepszym sposobem, aby przejść do ciebie.

Translate this post Translate this post





No related posts. No related posts.

    blog comments powered by Disqus blog komentarze powered by Disqus