python - 求教:tumblr模拟登录

 涩味122_508 发布于 2022-10-28 07:39

python3 在tumblr模拟登录(不使用api)中,无法成功。
使用的是 requests + beautifulsoup
代码如下:

import requests
from bs4 import BeautifulSoup

start_url = 'https://www.tumblr.com'

# set a session for request
s = requests.Session()
s.headers.update({'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0', 'accept-language': 'zh-CN,zh;'}
                 )

# get the form_key for login_in
r = s.get(start_url)
login_soup = BeautifulSoup(r.text, 'lxml')
hidden_p = login_soup.find('p', class_='form_row_hidden').find_all('input')
key_dict = {}

for input_tag in hidden_p:
    tmp_dict = input_tag.attrs
    key_dict.update({tmp_dict['name']: tmp_dict['value']})

user_data_dict = {'determine_email': '×××××××××',
                  'user[email]': '××××××××',
                  'user[password]': '××××××××',
                  'user[age]': '',
                  'tumblelog[name]': ''}

key_dict.update(user_data_dict)


# login in tumblr
r_login=s.post(start_url, headers=headers, data=key_dict)

home_soup=BeautifulSoup(r.text, 'lxml')
print(home_soup.title)

# 输出仍然为 注册-tumblr 界面 未成功

不知道哪里出错了,谢谢。

1 个回答
  • 我试了一下可以的把headers 和 data 补全
    注意里面的form_key每次都不同

    2022-10-29 14:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有