Python打开多个URL连接 - urllib2

时间:2010-12-03 17:51:27

标签: python facebook twitter connection urllib2

我正在尝试创建一个python脚本,允许我加载多个连接类似于在浏览器上打开多个标签,更明确地我有这样的代码:

https://github.com/eWizardII/SOC357-Twitter-Facebook-Project/blob/master/chuck.py

使用urlv等,我加载到API的多个连接,但是我想这样做,以便我同时调用所有5个而不是连续调用。我已经研究了扭曲和整洁的事情,但我不知道如何使用它们来帮助我。

谢谢, 所罗门

3 个答案:

答案 0 :(得分:4)

使用shell。

#!/bin/bash
python chuck.py "request 1" &
python chuck.py "request 2" &
python chuck.py "request 3" &
python chuck.py "request 4" &
python chuck.py "request 5" &

这将运行5个程序副本。它将尽可能多地占用核心和CPU。而且 - 奖励 - 没有使用子进程或线程或任何东西的编程。

如果所有5个人都应该做某种不同的事情,那么你将不得不提供某种参数或选项。查看argparse以获取收集命令行参数的方法。

答案 1 :(得分:1)

您可以创建HttpHandlers来处理异步http请求(就代码而言是异步的,而不是涉及实际的网络操作时)。

试试这个:

import urllib2

class MyHttpHandler(urllib2.HTTPHandler):
    def http_response(self, request, response):
        for l in response:
            print l
        return response

u = urllib2.build_opener(MyHttpHandler())
for i in range(1, 5):
    u.open('http://stackoverflow.com')

答案 2 :(得分:0)

您可以使用threading库。这是最适合的事情之一。