python抓网页被网站拒绝的解决办法

今天想从wikitionay抓些网页,以取回需要的信息。但是用urllib抓取时总是返回错误网页,server problem。研究了下发现从浏览器打开网页倒是一切正常,估计是wiki拒绝一切非浏览器的access,于是只能曲径通幽,用python模拟浏览器下载网页了。查了一些例子,不过大多都是模拟ie浏览器的,但是由于我的系统是linux,这些例子完全没法使用。好不容易挖到一位牛人模拟firefox的代码,于是稍加修改,成功弄到了网页代码。

from urllib import FancyURLopener

class MyOpener(FancyURLopener):

     version ='Mozilla/5.0 (X11; U; Linux i686 (x86_64); zh-CN; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2'#可以从firefox help menu中找到相关版本信息

myopener=MyOpener()

page=myopener.open("http://en.wiktionary.org/wiki/cortex").read() print page

posted @ 2011-06-27 19:21  cactuswisper  阅读(1192)  评论(2编辑  收藏  举报