作者hazton (hazton)
看板Python
標題[問題] 抓資料被擋@@
時間Sat Sep 26 00:27:53 2009
之前寫了個抓yahoo搜尋出來的東西的程式
今天心血來潮開出來看,發現才抓第一頁就被擋了@@
以下是我的程式碼:
# -*- coding: utf-8 -*-
import urllib
import re
query = u'123'
d_query = urllib.quote(query.encode('utf8')) #把query編碼
top_result = 100 #抓前top_result個result
url='
http://tw.knowledge.yahoo.com/search/search_result?cp=1&p='+d_query+'&tab=3&n='+str(top_result)
data = urllib.urlopen(url).read()
print data
之前抓google的資料的時候
好像有聽說可以在程式碼寫上什麼代理伺服器的名字就可以騙過去
或是不知道有無其他抓網頁的指令可以不在抓第一頁被檔的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.142.78
※ 編輯: hazton 來自: 140.116.142.78 (09/26 00:28)
推 StubbornLin:有些伺服器似乎不太喜歡python的urllib 09/26 00:38
→ sbrhsieh:一般是檢查 User-Agent, Referer 這兩個 request header 09/26 00:38
→ StubbornLin:例如像google搜尋 解決的方法很簡單 09/26 00:38
→ StubbornLin:把headers裡的user-agent改掉就好了 09/26 00:39
→ hazton:那像樓上說的User-Agent, Referer該怎麼改呢? 09/26 00:51