PHP: How to download a webpage (aka web scrapping) with PHP : PHP कैसे एक वेबपेज (उर्फ PHP के साथ वेब समाप्त) डाउनलोड करने के लिए
Posted on 03. 03 पर तैनात हैं. Oct, 2009 by Dragos in Coding , PHP अक्तूबर, 2009 कोडिंग, PHP में Dragos द्वारा
There are many ways of downloading web pages, or web content. वहाँ वेब पेज, या वेब सामग्री डाउनलोड करने के कई तरीके हैं. Personally I like to use cURL for my web scrapping needs, but sometimes I also use fsockopen and file_get_contents . व्यक्तिगत तौर पर मैं अपने वेब समाप्त जरूरतों के लिए कर्ल का उपयोग करना है, लेकिन कभी कभी मैं भी fsockopen और file_get_contents का उपयोग करें.
Here are 3 different functions that will allow you to download web content. यहाँ 3 अलग कार्य है कि आप डाउनलोड करने के लिए वेब सामग्री की अनुमति देगा.
cURL : कर्ल:
function getData($url) { समारोह getData ($ url) ( if($url!='localhost' && $url!='http://localhost') { ($ अगर url! url = 'localhost & & $!' = 'http://localhost) ( $ch=curl_init(); $ Ch curl_init = (); curl_setopt($ch, CURLOPT_URL, $url); Ch curl_setopt ($, CURLOPT_URL, $ url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); Ch curl_setopt ($, 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"); Ch curl_setopt ($, CURLOPT_USERAGENT, "Mozilla/6.0 (Windows, यू, Windows NT 5.1; EN-US; आर.वी.: 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); $ परिणाम '[आँकड़े]' = curl_exec (Ch $); $result['error']=curl_error($ch); $ परिणाम '[त्रुटि]' = curl_error ($ Ch); curl_close($ch); ($ curl_close Ch); return $result; $ परिणाम वापस; } ) else return $result['error']='err'; और $ परिणाम वापसी '[त्रुटि]' = गलती '; } )
fsockopen fsockopen
function getData($url) { समारोह getData ($ url) ( $arr=parse_url($url); $ आगमन parse_url = ($ url); $fp = fsockopen($arr['host'], 80, $errno, $errstr, 30); $ एफ पी = fsockopen (आगमन $ '[मेजबान]', 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"; $ बाहर = "जाओ '. fsockopen ($ आगमन' [मेजबान] ', 80, $ errno, errstr $ 30)." HTTP/1.1 \ r \ n "; $out .= "Host: ".str_replace('http://'.$arr['host'],'',$url)."\r\n"; $ बाहर .= "मेजबान:" str_replace ( 'http://'. $. आगमन '[मेजबान'],'',$ url). "\ r \ n"; $out .= "User-Agent: FSOCKOPEN\r\n"; $ बाहर .= "User-एजेंट: FSOCKOPEN \ r \ n"; $out .= "Connection: Close\r\n\r\n"; $ बाहर .= "कनेक्शन: बंद \ n \ r \ r \ n"; fwrite($fp, $out); fwrite ($ एफ पी, बाहर $); while(!feof($fp)) { (feof! ($ जबकि एफ पी)) ( $contents .= fgets($fp, 4096); $ सामग्री .= ($ fgets एफ पी, 4096); }; ); fclose($fp); ($ fclose एफ पी); return $contents; सामग्री $ वापसी; } ) } )
file_get_contents file_get_contents
function getData($url) { समारोह getData ($ url) ( return file_get_contents($url); वापस 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. जैसा कि आप वेब सामग्री डाउनलोड करने का आसान तरीका है देखने के file_get_contents समारोह का उपयोग कर रहा है, लेकिन यदि आप अधिक विकल्प की जरूरत है, विशेषकर यदि आप हेडर के साथ काम कर रहे हैं, तो कर्ल सबसे अच्छा तरीका है आप के लिए जाना जाता है.
Related posts: संबंधित पोस्ट:
- ferry ardhana नौका ardhana












































