検索

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

python - 淘宝模拟登陆抓取失败

淘宝模拟登陆抓取失败

# __author__ = ''
# -*- coding: utf-8 -*-
import requests
import re
s = requests.session()
login_data = {'email': 'xxx', 'password': 'xxx', }
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
           'Host':'log.mmstat.com',
            'Referer':'https://www.taobao.com/'
           }

# post 数据实现登录
s.post('https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Fwww.taobao.com%2F', login_data, headers=headers)
# 验证是否登陆成功,抓取'淘宝'首页看看内容
r = s.get('https://www.taobao.com')
print r.text

还是小白
用户名和密码省去嘞
得到的还是未登录时的代码,不知道自己少了什么,有成功的大神能告知一下咩

巴扎黑巴扎黑2803日前905

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

  • 迷茫

    迷茫2017-04-17 17:34:45

    リクエストを送信するときは Cookie を添付するように注意してください~
    ログインをシミュレートするときは、次の点に注意することをお勧めします:
    ブラウザで通常のログイン中に送信されたリクエストを確認します:

    • どのフィールドが送信されましたか?

    • 何のクッキーを持ってきましたか?

    • 要求されたアドレスにはパラメータがありますか?

    以下は雲南大学図書館の貸出情報をクロールするために使用したクローラーです。ユンダ図書館ログインシステムのデフォルトパスワードは学籍番号の下8桁です。
    このフィールドは、フォーム送信時のユーザー名とパスワードだけでなく、ログイン フォームの生成時に非表示の入力に書き込まれるため、lt を抽出する必要があります。フォームのアドレスには jsessionid フィールドもあります。これもログイン ページ
    から抽出して追加する必要があります。

    要するに、私のソリューションのアイデアが何らかの指針になれば幸いです。

    とにかく、コツを教えてあげるよ~

    シミュレートされたログイン情報と通常送信された情報の間に異常がサーバーによって検出されなければ、ログインは成功します~

    非常に重要な点です ---
    通常のログイン操作を模倣します、ブラウザのネットワーク デバッグ ツールで考え続けてください。

    以下に添付したのは、私が少し前に書いたシミュレートされたログイン クローラーです

    リーリー

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 17:34:45

    なぜ淘宝のアドレスなのでしょうか?Zhihu にも認証コードがあるようです。

    返事
    0
  • キャンセル返事