ホームページ  >  に質問  >  本文

Python - 2億++のURLを持つWebページのステータスコードを素早く確認するには?

リクエストを使ってマルチスレッドを書いたのですが、少し遅い気がします。他に方法はありますか?

世界只因有你世界只因有你2712日前570

全員に返信(5)返信します

  • PHPz

    PHPz2017-05-18 10:58:14

    Tornado の CURL クライアント サポートを使用して、リクエスト ヘッダーを読み取った後に接続を閉じます。 (私はまだ試していません。提供する HTTP クライアントが接続の途中で閉じることをサポートしていない場合は、TCP を使用し、http-parser を使用して私がやったように解析できます。)

    実際には、fetchtitle に拡張機能を追加するだけでステータス コードを取得できます... (pycurl をインストールすることを忘れないでください)

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-18 10:58:14

    Python は本質的に遅いので、高速にしたい場合は、TCP リクエストを直接書いて、ステータスを読んだ後、ソケットを閉じてください。

    返事
    0
  • ringa_lee

    ringa_lee2017-05-18 10:58:14

    grequests を使用すると、リクエストは同時にカプセル化されます

    https://github.com/kennethrei...

    返事
    0
  • 迷茫

    迷茫2017-05-18 10:58:14

    この場合、gevent、tornado、scrapy-redis、asyncio の使用を検討できます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-18 10:58:14

    Headを使用してリクエストすると早くなりますか?

    返事
    0
  • キャンセル返事