2017-06-26 9 views
0

埋め込み動画やGoogleカレンダーなどのサードパーティのCookieを含む、ドメインのすべてのCookieを取得するには、Python Scrapyを使用します。Scrapyやその他の簡単な方法でサードパーティのCookieをすべて取得するにはどうすればよいですか?

私は最初にScrapyを使ってHTTPヘッダーの「Set-Cookie」フィールドをチェックしましたが、ファーストパーティのCookieしか取得できませんでした。

次に、すべてのクッキーを取得するためにすべてのjsを読み込むためにScrapy + Selenium + Chromedriverを試しました。しかし、これは非常に遅いです。私はこの記事を見つけ、PhantomJSを試しました:How to get 3rd party cookies?私は同じことをしましたが、空のcookie.txtファイルがあります。

私はウェブサイトからすべてのクッキーを簡単に取得する方法があるのか​​、それともどのように修正するべきなのでしょうか?

ありがとうございます。

+0

以下のリンクを参考にしてください。https://stackoverflow.com/questions/17146514/how-to-get-3rd-party-cookies – Gozie

+0

@Gozieご返信ありがとうございますが、私はこの記事を読んでいます前に、私が記事で言及したように。 Chromdriverは仕事をしますが、それは非常に遅く、PhantomJSはサードパーティのCookieを入手できません。 – pinzhenchen

答えて

1

ほとんどのPythonスクレイピングツールは、JavaScriptを実行できず、多くの(たぶんほとんどの)サードパーティのCookieがスクリプトによって直接的または間接的に設定されるため、完全にクッキーを取得することはありません。

したがって、実行中のようなブラウザの自動化を使用する必要があります。 phantomjsに関して、最も確かにがAPIを介してすべてのクッキーを返します。セレン+クロムドライバーが行く限り、ファーストパーティのクッキーを返すだけです。 PhantomJSは実際には厳密にクッキーを収集するための最良のオプションです。別のオプションは、セレンのchrome/firefoxの新しいプロファイルを作成し、一時ファイルのパスを見つけて、sqliteで直接Cookieデータベースを開くことです。

また、サードパーティのリクエストとCookieをキャプチャするために設計されたwebxrayなどのツールを試すこともできます。https://github.com/timlib/webXray(開示:私が書きました)。

+0

ご協力いただきありがとうございます。では、セレン+ webdriverとあなたのwebXrayの違いは何ですか? – pinzhenchen

+0

webxrayはセレンなしでphantomjsを使用*し、ドメインをチェックしてファーストパーティとサードパーティを判別し、それをソートします *実験版はクロムをサポートしていますが、まだリリースされていません – tlib

関連する問題