學習java時對爬蟲很感興趣,從剛開始接觸的jsoup,爬取360,百度百科到如今使用的開源中國排行第一的爬蟲框架webconnect,每一次看見大量數據浮如今我眼前,保存在數據庫,有一種成就感;javascript
1:用爬蟲作一個搜索圖片的需求是很容易的,可是顯示圖片必需要考慮防盜鏈的問題,網站防盜鏈解決網上千奇百怪.但本人以爲最實用得是使用mata標籤,將referer頭設置爲never,從而解決大部分小網站防盜鏈問題,java
這種方法彷佛支支持谷歌瀏覽器.nginx
2: js解決 實現代碼:web
function
showImg( url ) {
var
frameid =
'frameimg'
+ Math.random();
window.img =
'<img id="img" src=\''
+url+
'?'
+Math.random()+
'\' /><script>window.onload = function() { parent.document.getElementById(\''
+frameid+
'\').height = document.getElementById(\'img\').height+\'px\'; }<'
+
'/script>'
;
document.write(
'<iframe id="'
+frameid+
'" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="100%"></iframe>'
);
}
|
調用方式:數據庫
showImg(
'圖片地址'
);
|
3: 關於防盜鏈防護方法,有如下3點:瀏覽器
一、不容許referer爲空(不建議,因在某些開啓隱私模式的瀏覽器中,或https頁面引用下,referer是空的)
二、地址變動(lighttpd的是根據有效時間,nginx的根據是md5)
三、登陸校驗(如必須登陸網站賬號後才能訪問)框架