AppEngine通过免费代理获取

时间:2010-01-12 15:57:51

标签: python google-app-engine proxy

我的(Python)AppEngine程序从另一个站点获取一个网页以从中抓取数据 - 但似乎第三方网站正在阻止来自Google App Engine的请求! - 我可以从开发模式获取页面,但不能在部署时获取。

我可以使用某种免费代理解决这个问题吗?

我可以使用免费代理来隐藏我从App Engine请求的事实吗?

如何查找/选择代理? - 我需要什么? - 如何执行提取?

还有什么我需要知道或注意的吗?

5 个答案:

答案 0 :(得分:2)

正确的方法可能是请求您正在抓取的网站所有者的许可。

即使您使用代理服务器,通过代理服务器发出的请求仍有可能最终被阻止。

答案 1 :(得分:1)

您是否考虑过更改用户代理?

result = urlfetch.fetch(u,headers = {'User-Agent': "Mozilla/5.0"},allow_truncated=True) 

API将始终附加“AppEngine-Google;”到用户代理,但如果限制不是基于IP地址范围,则可能会有效。

答案 2 :(得分:1)

您所说的是app引擎sdk中的有效错误。查看http://code.google.com/p/googleappengine/issues/detail?id=544的bug更新,以及java和python的解决方法。

答案 3 :(得分:0)

我目前遇到了同样的问题,我正在考虑这个解决方案(尚未尝试过):

- >开发一个可以获取所需内容的应用 - >在本地运行它 - >从您的初始

获取本地服务器

所以代理是您知道未阻止的计算机

让我知道它是否有效!

答案 4 :(得分:0)

公平地说,如果他们不希望你这样做那么你可能不应该这样做。这是不好意思。

但如果您真的想这样做,最好的方法是创建一个简单的代理脚本,并在VPS或具有足够好连接的计算机上运行它。

基本上,您将REST API从服务器公开到GAE,然后服务器只是向目标站点发出所有相同的请求并返回输出。