通過python多線程訪問網頁

來源:互聯網
上載者:User
通過python多線程訪問網頁

@for&ever 2010-07-03

 

 

通過python,採用多線程的方式訪問網頁。
一個簡單的小例子,訪問三個不同的頁面,每個頁面開20個線程並發訪問。

 

python指令碼如下:

 

#!/usr/bin/env python<br /># -*- coding: utf-8 -*-</p><p>'''<br />Created on 2010-7-2</p><p>@author: forever<br />'''</p><p>import sys<br />import threading<br />from urllib import urlopen</p><p>urls = ["/archive/2010/07/03/5711257.aspx",<br />"/archive/2010/06/28/5699311.aspx",<br />"/archive/2010/07/03/5711270.aspx",<br />]</p><p>visitTimesPerPage = 20</p><p>def usage():<br />print 'Usage:', sys.argv[0], 'host'</p><p>def main(argv):<br />host = argv[1]<br />if host == '':<br />usage()<br />sys.exit(2)<br />else:<br />for i in range(visitTimesPerPage):<br />for url in urls:<br />visitPageThread = VisitPageThread(url + str(i), host, url)<br />visitPageThread.start()</p><p>class VisitPageThread(threading.Thread):<br />def __init__(self, threadName, host, url):<br />threading.Thread.__init__(self, name = threadName)<br />self.host = host<br />self.url = url</p><p>def run(self):<br />url = self.host + self.url<br />try:<br />doc = urlopen(url).read()<br /> #print doc<br />except Exception, e:<br />print "urlopen Exception : %s" %e</p><p>if __name__=='__main__':<br />sys.argv.append('http://blog.csdn.net/forandever')<br />main(sys.argv)</p><p>

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.