裝潢、搬家、清潔、打蠟、粉刷、招牌、抓漏、冷氣 線上精準估價,比價最容易,給你最便宜的價格,消費不 | 專業中古屋改造工程,新成屋,預售屋室內裝潢設計 搭配家具,家飾布置,整體規劃 |
[php] 請問如何模擬瀏覽器搜尋網頁? |
房東:張先生 發表時間:2016-07-21 |
小弟最近在做關於網頁搜尋機械人(robot),有點類似google搜尋引擎那樣 搜尋演算法已經完成,並且確定成功 (有找其他網頁來測試) 但是對於某些網頁 例如: http://news.yahoo.com (英文網頁) 都會被server偵測出來並且將我列為robot (為什麼我知道,因為小弟檢視抓到的網頁的原始碼後發現, 和一般瀏覽器(IE)抓取到的原始碼不一樣,並且原始碼內有一行明白的寫著"SpaceID = 0 robot") 小弟利用多種連結方式測試之後,都失敗了 懇請各位大大幫忙,不知道有什麼比較好的方法可以避開或者欺騙Server的偵測 |
|
廣利不動產-新板特區指名度最高、值得您信賴的好房仲 您的托付,廣利用心為您服務 廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲 完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心! |
1 樓住戶:艾蕾蕾 發表時間:2016-07-21 |
目前我採取的方式是使用PHP上面一個CURL模組 此模組能夠有效的模擬瀏覽器,並且產生一個cookie檔 以下是部分程式範例; function doRequest($method, $url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } $data = curl_exec($ch); curl_close($ch); return $data; } 雖然說成功克服cookie阻擋的問題,不過最後還是被網站用紀錄瀏覽器瀏覽次數的方式擋下來。 所以現在正在往調整網頁擷取時間或者是修改IP的方式來進行 目前嘗試用hinet的浮動IP重開跟新IP的方式來進行測試 |
姓名: | |||
佈告內容: | |||
其他選項: | |||
|