ダウンロード時間を測定するために、最終的には、その特定のウェブのロード時間を測定ページ。残念ながら、私が思いついたコードは、HTMLタグの内側のURLに従わないので、ブラウザ上の他のウェブサイトからもいくつかのコンテンツをダウンロードした後に完全に読み込まれるのに10秒かかるウェブページは、私のコードには完全にロードされていますが、これは私のコードが正しくないことを示しています! BrowserLikeRedirectAgentとRedirectAgentを使用した場合でも、結果は同じです。コメントは感謝しています。ツイストHTTPクライアントは、ページ全体をダウンロードして、私はHTTPクライアントを実装し、特定のURLの完全なWebページをダウンロードするために、ツイストエージェントを使用しようとした
def init_http(url):
userAgent = 'Twisted/%s (httpclient.py)' % (version.short(),)
agent = BrowserLikeRedirectAgent(Agent(reactor))
def response_time_calculator(test,t1):
end_time = time.time()
response_time = end_time - t1
print ("Got the Whole page in: ", response_time)
start_time = time.time()
d = agent.request(
b'GET', str(url), Headers({'user-agent': [userAgent]}))
def cbResponse(response):
if response.length is not UNKNOWN_LENGTH:
print('The response body will consist of', response.length, 'bytes.')
else:
print('The response body length is unknown.')
d = readBody(response)
d.addCallback(response_time_calculator, start_time)
return d
d.addCallback(cbResponse)
time.clockためのおかげで、私はちょうどロードするタグを必要とするので、そのアドレスは、バックツイストエージェントにそれについて何らかの回避策を供給することができないのですか?私はコードで新しいライブラリを実装するのではなく、むしろ私が望むものではないので、私はTwistedとPythonだけで問題を処理するソリューションを探します。 – DeFoG
もしあなたがscrapyを使いたくないのであれば、htmlを解析し、imgタグを見つけ出し、そのソースを解釈し、新しい 'Agent.request'呼び出しを発行する必要があります。 Twistedにはあなたのためにこのリンクを実行するものは何もありません。 Twistedには本当にhtmlパーサはありません。 stdlibには非常に古く、それほど素晴らしいものはありませんが、html5仕様を実装する 'html5lib'を使用することをお勧めします。そして、これらの日を解析する唯一の純粋な方法です。 –