PHP: How to download a webpage (aka web scrapping) with PHP PHP: Miten ladata verkkosivun (alias Web romuttaminen) PHP
Posted on 03. Postitettu 03. Oct, 2009 by Dragos in Coding , PHP Lokakuu, 2009 Dragos vuonna Coding, PHP
There are many ways of downloading web pages, or web content. On monia tapoja ladata web-sivuja tai web-sisältöä. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . Itse haluan käyttää cURL minun web romuttamisen tarpeisiin, mutta joskus olen myös käyttää fsockopen ja file_get_contents.
Here are 3 different functions that will allow you to download web content. Tässä on 3 eri toimintoja, joiden avulla voit ladata web-sisältöä.
cURL : curl:
function getData($url) { toiminto 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); $ tulos [ 'data'] = curl_exec ($ ch); $result['error']=curl_error($ch); $ tulos [ 'error'] = curl_error ($ ch); curl_close($ch); curl_close ($ ch); return $result; return $ tulos; } ) else return $result['error']='err'; else return $ tulos [ 'error'] = 'err'; } )
fsockopen fsockopen
function getData($url) { toiminto 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 / / Send otsikoita $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); $ sisältö .= fgets ($ fp, 4096); }; ); fclose($fp); fclose ($ fp); return $contents; return $ sisältö; } ) } )
file_get_contents file_get_contents
function getData($url) { toiminto 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. Kuten näette helpoin tapa ladata web-sisällön avulla file_get_contents toiminto, mutta jos sinulla on enemmän vaihtoehtoja, varsinkin jos työskentelet otsikot, sitten cURL on paras vaihtoehto sinulle.
Related posts: Liittyvien virkojen:
- ferry ardhana lautta ardhana












































