본문 바로가기
파이썬

파이썬 매우 간단한 멀티 스레딩 병렬 URL 가져 오기 (대기열 없음)

by º기록 2021. 1. 20.
반응형

파이썬에서 가능한 가장 간단한 다중 스레드 URL 가져 오기 프로그램을 찾기 위해 하루 종일 보냈지 만 내가 찾은 대부분의 스크립트는 대기열이나 다중 처리 또는 복잡한 라이브러리를 사용하고 있습니다.

마지막으로 나는 답으로보고하고있는 하나를 직접 썼다. 개선 사항이 있으면 언제든지 제안하십시오.

나는 다른 사람들이 비슷한 것을 찾고 있었을 것 같습니다.

 

해결 방법

 

가능한 한 원본 버전을 단순화 :

import threading
import urllib2
import time

start = time.time()
urls = ["http://www.google.com", "http://www.apple.com", "http://www.microsoft.com", "http://www.amazon.com", "http://www.facebook.com"]

def fetch_url(url):
    urlHandler = urllib2.urlopen(url)
    html = urlHandler.read()
    print "'%s\' fetched in %ss" % (url, (time.time() - start))

threads = [threading.Thread(target=fetch_url, args=(url,)) for url in urls]
for thread in threads:
    thread.start()
for thread in threads:
    thread.join()

print "Elapsed Time: %s" % (time.time() - start)

여기에 유일한 새로운 트릭은 다음과 같습니다.

 

참조 페이지 https://stackoverflow.com/questions/16181121

 

 

반응형

댓글