从客户端用Python创建urllib请求

时间:2010-05-04 06:33:34

标签: python urllib2 urllib

我编写了一个Python应用程序,它使用urllib2库发出Web请求,之后它会抓取数据。我可以将其部署为Web应用程序,这意味着所有urllib2请求都通过我的Web服务器。这导致由于许多用户的大量Web请求而导致服务器IP被禁止的危险。另一种选择是创建一个我不想做的桌面应用程序。有什么方法可以部署我的应用程序,以便我可以通过客户端获取我的Web请求。一种方法是使用Jython来创建一个applet,但我已经读过Java applet只能向它部署的服务器发出Web请求,而绕过这个的唯一方法就是创建一个服务器端代理,引导我们回来解决服务器被禁止的问题。

这可能听起来像是不可能的情况,我可能最终会创建一个桌面应用程序,但我想我会问是否有人知道其他解决方案。

感谢。

3 个答案:

答案 0 :(得分:1)

您可能可以使用由JavaScript构成的AJAX请求,这是客户端的一部分。

  • 使用服务器→客户端通信提供命令和必要的数据来发出请求
  • ...然后使用从客户端到第三方服务器的AJAX通信。

答案 1 :(得分:1)

您可以使用已签名的Java小程序,他们可以使用Java安全机制来启用对任何站点的访问。 本教程将准确说明您必须执行的操作:http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

Flash小程序可能也是如此。 Javascript也仅限于已发布的网站,不允许签名或安全例外,例如AFAIK。

答案 2 :(得分:0)

这取决于你打算做的“刮”的形式:

  • 您可能在向第三方网站运行AJAX调用时遇到问题。请参阅Screen scraping through AJAX and javascript
  • 另一种方法是在服务器端执行此操作,但要缓存结果,以免不必要地访问第三方服务器。

在Google代码上查看diggstripper。