curl का उपयोग करके पृष्ठ सामग्री पुनर्प्राप्त करना
इस संदर्भ में, आप cURL का उपयोग करके Google खोज परिणाम पृष्ठ की सामग्री को स्क्रैप करना चाहते हैं। उपयोगकर्ता एजेंटों और विभिन्न विकल्पों को सेट करने का प्रयास करने के बावजूद, पृष्ठ सामग्री की सफल पुनर्प्राप्ति आपसे दूर रही है। रीडायरेक्ट या "पेज मूव्ड" त्रुटियां आपके प्रयासों को प्रभावित कर रही हैं।
ऐसा माना जाता है कि समस्या क्वेरी स्ट्रिंग में विशेष वर्णों के एन्कोडिंग से उत्पन्न हो सकती है। इसे कम करने के लिए, आपके PHP कोड में बदलाव आवश्यक हैं।
यहां तरीका है:
function get_web_page($url)
{
$user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$options = array(
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POST => false,
CURLOPT_USERAGENT => $user_agent,
CURLOPT_COOKIEFILE => "cookie.txt",
CURLOPT_COOKIEJAR => "cookie.txt",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10
);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
उपयोग:
$result = get_web_page($url);
if ($result['errno'] != 0) {
// Handle errors: bad URL, timeout, redirect loop
}
if ($result['http_code'] != 200) {
// Handle errors: no page, no permissions, no service
}
$page = $result['content'];
इस कोड के साथ, अब आप अपने ब्राउज़र में प्रदर्शित सटीक पृष्ठ सामग्री को पुनः प्राप्त कर सकते हैं। क्वेरी स्ट्रिंग में विशेष वर्णों को ध्यान में रखकर, आप उन बाधाओं को दूर कर सकते हैं जिनका आपने पहले सामना किया था।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3