2017-12-10 22 views
0

リクエスト時間を短縮するために同時に複数のHTTPリクエストをプリフォームすることは可能ですか?そうするためにスレッドを使用できると思っていました。もしそうなら、それは私の問題を解決する最も効率的な方法でしょう、そしてそれがそうならば、あなたはそのような解決策をどのようにPythonで行いますか?ありがとう複数のHTTPリクエストを同時にスレッドで使用する

+0

ようこその大きな量のためにサービスによって禁止できることを認識すべきです。 [良い質問をするにはどうすればいいですか?](https://stackoverflow.com/help/how-to-ask)と[ここではどのような話題がありますか?](https://stackoverflow.com/help)をお読みください。/on-topic)。 **研究、何かを試して、あなたのコードを追加し、あなたの問題を指摘する** ** – pirho

答えて

0

これは、マルチスレッドの使用法の最も象徴的な例です。

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() 

しかし、あなたは簡単に同時要求スタックオーバーフローに

+0

私は、私が要求したい500のURLのリストを持っていたと言うことができますが、私はどうしたらいい? –

+0

問題が発生しないドメインが異なる場合でも、異なるURLを1つのサイトからクロールしようとすると、それが禁止される大きな可能性があります。 – vZ10

+0

私は500リクエスト(私は禁止しないと仮定して)と思っていたが、それを試してみると、上記のコードで500個の異なる私は何をしますか?このような状況では、 –

関連する問題