日期:2014-05-17  浏览次数:20462 次

如何采集防采集的网站
我想用php采集一个网站的数据,但是无法获取该网站的数据。网址如下:
http://www.alldatasheet.com/view.jsp?Searchword=78HC
希望您能试一下,只要能返回数据就行了。我试了很久不能成功。

------解决方案--------------------


$header = array ( 
"GET /view.jsp?Searchword=78HC HTTP/1.1",
"Host: www.alldatasheet.com",
"Connection: keep-alive",
"Cache-Control: max-age=0",
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22",
"Accept-Encoding: gzip,deflate,sdch",
"Accept-Language: en-US,zh-CN;q=0.8,zh;q=0.6",
"Accept-Charset: UTF-8,*;q=0.5",
"Cookie: JSESSIONID=BD1418BC3F4CA9084F0C022A98687A09; track_id=117.25.173.111363310326444; seekstr=*78H*..; 

seekshot=78H..1..75..8..112; __utma=191189370.2036196682.1363308553.1363308553.1363308553.1; 

__utmb=191189370.3.10.1363308553; __utmc=191189370; __utmz=191189370.1363308553.1.1.utmcsr=(direct)
------解决方案--------------------
utmccn=(direct)
------解决方案--------------------


utmcmd=(none); arp_scroll_position=900"
); 

// 初始化一个 cURL 对象
$curl = curl_init(); 
 
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.alldatasheet.com/view.jsp?Searchword=78HC');

curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置header 
 
// 设置header显示方式
curl_setopt($curl, CURLOPT_HEADER, 0);
 
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
// 运行cURL,请求网页
$data = curl_exec($curl);
 
// 关闭URL请求
curl_close($curl);
 
// 显示获得的数据
var_dump($data);


------解决方案--------------------
只要是浏览器能访问的页面,应该都能采集的。
关键是cookie。