【注意】クローラーパイソンクッキーアナログ設定処理をユーザ(2)にアクセスします

学ぶ教科書「Pythonのネットワーク・データの収集」、この本のためのコードのほとんど。

  リクエストヘッダの処理を完了、クッキーの値は、ユーザと機械との間で区別するための方法です。だから我々は、要求モジュールを必要とする騒ぎが出て開くものをクッキーに対処する必要があります。

  Pythonは一般に、クッキー1を変更します

まず、クッキーを取得

インポート要求

のparams = { ユーザ名ライアンパスワードパスワード}#辞書、ユーザ名とパスワード、ホストで要求を設定し、ほぼ
R&LT = requests.post(" http://pythonscraping.com /pages/cookies/welcome.php " のparams)
 印刷" SETにクッキーは次のとおりです。" を印刷(r.cookies.get_dict())#は、クッキー、および出力を得る
 印刷" --------- - " を印刷"ページのプロフィールに行く... " 
、R = requests.get(" http://pythonscraping.com/pages/cookies/profile.php 、クッキー = r.cookies)#发送クッキー
 プリント(r.text)

  変更のクッキー2.

サイトは、あなたがより複雑に直面している場合、それはしばしば密かにクッキーを調整している、またはあなたが最初からクッキーを使用したくない場合は、セッション要求は、ライブラリは、これらの問題を解決することができる機能します。

インポート要求の
セッション
= requests.Session() のparams = { ' ユーザ名'' ユーザー名'' パスワード'' パスワード' } 、S = session.post(" http://pythonscraping.com/pages/cookies/welcome.php "paramsは) 印刷が" クッキーに設定されている:" プリント(s.cookies.get_dict()) プリント" ----- プリント" ページをプロファイルするために行く... " 、S = session.get(" http://pythonscraping.com/pages/cookies/profile.php " プリント(s.text)

上記のコードは、セッションの都合にあるクッキーの値を設定しません。セッション(セッション)オブジェクト(requests.Session()取得を呼び出す)、このようなクッキー、ヘッダ、及びHTTPプロトコルの実行についても情報、HTTPアダプタとして、セッション情報を追跡する(HTTPに均一なインタフェースを提供し、HTTPSセッションをリンク)

  スクリプトによって生成3.クッキーベースのユーザ操作

要求モジュールは、JavaScriptを実行することはできませんので、それは、このようなGoogleアナリティクス、スクリプトはクッキー(Cookieまたはユーザーがページを閲覧する際に生成されたWebベースのイベントを設定した後に実行された場合にのみ、クライアントとしてのCookie追跡ソフトウェアの新世代の多くを扱うことができないので、ボタンのクリックなど)。これらのアクションに対処するには、(phantomJSパッケージは、寒されている代わりに、FirefoxやGoogleのを使用することができます)セレン及びPhantomJSパッケージを使用する必要があります

(1)クッキーを取得します

セレンインポートwebdriverを
ドライバが
= webdriver.Firefox() driver.get(" https://www.bilibili.com/ " driver.implicitly_wait( 1
プリント(driver.get_cookies())

(2)コールdelete_cookie()、add_cookie()およびクッキーに対処するdelete_all_cookies()メソッド

また、クッキーは、将来の使用の他のWebクローラー用に保存することができます。次の例では、これらの機能を組み合わせる方法を示しています。

セレンインポートwebdriverを用
ドライバ
= webdriver.Firefox()
driver.get(" http://pythonscraping.com " 
driver.implicitly_wait(
1 プリント(driver.get_cookies())
savedCookies
= driver.get_cookies()

DRIVER2
= webdriverを。Firefoxの()

driver2.get(
" http://pythonscraping.com "
driver2.delete_all_cookies()
のためにクッキーsavedCookies:
  driver2.add_cookie(クッキー)
driver2.get(
" http://pythonscraping.com "
driver.implicitly_wait (
1
印刷(driver2.get_cookies())

この例では、最初のwebdriverをウェブサイト、印刷を取得し、クッキー変数savedCookies年に保存します。ウェブサイトをロード二webdriverを(テクニカルノート:あなたが最初のサイト、サイトの負荷の動作は、我々はすべての用途を持っていなかった場合でも、属するサイトを知るために、このクッキーのセレンをロードする必要がありますが)、クッキーを全て削除してから、最初のwebdriverをを置き換えます結果のクッキー。ページを再度読み込むと、2つのクッキータイムスタンプ、ソースコードやその他の情報はまったく同じでなければなりません。Googleアナリティクスの視点、まったく同じになりました第2及び第1 webdriverをするwebdriverを。

おすすめ

転載: www.cnblogs.com/dfy-blog/p/11518630.html