URL:http://www.baidu.com/s?wd=site:www.cnblogs.com
代碼:
def get_html(url)
uri = URI(url)
p resp = Net::HTTP.get(uri)
end
而獲取到的結(jié)果是百度首頁的源碼,并不是搜索site:www.cnblogs.com
的結(jié)果
不知道,Ruby中有關(guān)于網(wǎng)絡(luò)編程方面的好書籍沒?
剛接觸ruby,很多東西不知道從何找(目前都是到官網(wǎng)看文檔)。
使用PHP簡單實現(xiàn)了下:
<?php
set_time_limit(0);
function _rand()
{
$length = 26;
$chars = "0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
$string = '';
for ($i = 0; $i < $length; $i++) {
$string.= $chars[mt_rand(0, $max) ];
}
return $string;
}
$HTTP_SESSION = _rand();
$HTTP_SESSION;
$HTTP_Server = "www.baidu.com";
$HTTP_URL = "/s?wd=site:www.cnblogs.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://" . $HTTP_Server . $HTTP_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
$res = curl_exec($ch);
curl_close($ch);
print_r($res);
認(rèn)證0級講師
Quel que soit le code de langue que vous utilisez pour explorer, vous ne pouvez pas capturer le contenu Baidu aussi facilement.
Baidu n'est plus le même Baidu qu'avant. Sans diverses authentifications de cookies, vous ne pouvez même pas l'attraper. Vous feriez mieux de faire des recherches pour voir s'il existe une API. Le code frontal de Baidu est plein de rebondissements. , juste pour éviter de vous faire prendre.
http://www.baidu.com/s?wd=www.cnblogs.com&rsv_bp=0&ch=&tn=19045005_5_pg&bar=&rsv_spt=3&ie=utf-8&rsv_n=2&rsv_sug3=1&rsv_sug4=57&rsv_sug2=0&inputT=635
Ma?tre de poste, vous ne pouvez récupérer qu'en jetant une telle somme, n'est-ce pas ?
Propriétaire, souhaitez-vous récupérer les POI collectés par Baidu??