Re: [範例] 用WebChuan抓取無名相簿的相片
: → StubbornLin:看來不只有我一個人遇到yahoo 999 = = 10/23 00:10
: → StubbornLin:我沒預料到居然有那種鬼機制 XD 10/23 00:10
: → StubbornLin:抓了一陣子居然999 我沒研究他判斷999的方式 10/23 00:10
: → StubbornLin:還有它到底是禁止了什麼 我猜應該是ip 10/23 00:11
: → StubbornLin:我重新播號換個ip就好了 10/23 00:11
: → StubbornLin:我覺得應該是抓圖的方式太密集 = = 10/23 00:11
: → StubbornLin:我想... 如果User-Agent用亂數決定 10/23 00:12
: → StubbornLin:不知道它會不會認定是不同電腦 10/23 00:12
: → StubbornLin:但如果只認ip 大概就只能延長抓的間格吧? 10/23 00:12
對不起...雖然這裡是python板,但以下文章只有ruby and php code...orz 請見諒
換proxy是個方法、換IP也是方法,不過我上次在yahoo open hack day惡搞
無名小站2.0的時候有發現一些關鍵,至少那個晚上我爬了2,000+ 個網頁沒被擋:p
1. header要記得送 cookie
2. 換一本相簿還是換一個user的時候會收到response header送 set-cookie 回來
記得把裏面提供的資訊換上去跟著送出去
BX=xxxxxxx ; PHPSESSID=xxxxxxx
我是用ruby寫的,有一段程式如下
unless resp['Set-cookie'].blank?
@cookie = "#{cookie.scan(/BX=.+s=\w{1,3};/)[0]}
#{cookie.scan(/(PHPSESSID=\w+;)/)[0]} lang=zh-tw;
#{resp['Set-cookie']}"
end
(當時趕時間regular expression寫得很醜.....到現在一直沒改XD)
3. request不要送太快,基本上一秒一頁應該沒問題(?)
關鍵在於儘量模擬真人的瀏覽行為 :p
by the way, 要hack無名小站就是下列3點
1. HTML是最難破的,基本上就是上述模式去撈....
可能的防護方式是擋IP, 看header & cookie
撈到html後基本上就有縮圖網址,縮圖網址跟大圖網址規則是固定的...
2. 縮圖,只要有縮圖的url就可以,等於是沒有防護
3. 大圖,基本上這些圖應該是躲在firewall或proxy後面,只查referer
隨便寫一段PHP就可以撈到圖了:
<?php
$p = $_GET['url'];
header('Content-type: image/jpeg');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $p);
curl_setopt ($ch, CURLOPT_REFERER, "http://www.wretch.cc/album/");
curl_exec ($ch);
curl_close ($ch);
?>
使用方式例如 http://localhost/img.php?url=http://f7.yahoo...................
就會return一張圖片回來.....
基本上我是滿想開一個open source project專門寫爬無名小站的程式.....
這樣會有人有興趣嗎??
--
Cyberpunk http://punk.tw/
--
華夫人:我們一日喪命散是用七種不同的毒蟲,再加上了鶴頂紅,
提煉了七七四十九日而成的,無色無味,殺人於無影無蹤!
唐伯虎:哼!我們含笑半步癲是用蜂蜜、川貝、桔梗、加上天山雪蓮配製而成,
不需冷藏,也沒有防腐劑,除了毒性猛烈之外,味道還很好吃!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.179.98
→
10/23 22:11, , 1F
10/23 22:11, 1F
推
10/23 23:13, , 2F
10/23 23:13, 2F
推
10/23 23:47, , 3F
10/23 23:47, 3F
→
10/23 23:47, , 4F
10/23 23:47, 4F
推
10/24 02:29, , 5F
10/24 02:29, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):