模拟登录豆瓣

模拟登录豆瓣

使用cookie

  1. 注册一个豆瓣账号,登录成功后,打开F12,开启抓包功能,点击刷新页面,在众多包中找到www.douban.com/,复制Request Headers中的信息(除了Accept-Encoding),作为headers的内容,然后就可以直接使用request,get()直接得到登录成功后显示的页面的html了。
  2. 代码如下
    url = ‘https://www.douban.com/’
    headers = {
    ‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3’,
    # ‘Accept-Encoding’: ‘gzip, deflate, br’,
    ‘Accept-Language’: ‘zh-CN,zh;q=0.9’,
    ‘Cache-Control’: ‘max-age=0’,
    ‘Connection’: ‘keep-alive’,
    ‘Cookie’: ‘bid=Lv8Qd36QXPU; __yadk_uid=eRxjcuIanuZ5tUH7Xz5jAUCItn8zF6pJ; ll=“118172”; _vwo_uuid_v2=D9C0533142C07295DC3DA18BD59371CFD|2e18d7d251648e4dc78cc50ef5e7cfd4; ct=y; __utmc=30149280; __utmz=30149280.1569199898.3.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; ap_v=0,6.0; push_noty_num=0; push_doumail_num=0; __utmv=30149280.20427; douban-fav-remind=1; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1569205225%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DRRO6R1TxtiSiWSyB-p-Ok_We1768Ll2OVfoRoVIHrqHDL_Jg-aXWgZEdo1KMdihF%26wd%3D%26eqid%3D880a4036008cf2d0000000045d881714%22%5D; _pk_ses.100001.8cb4=*; __utma=30149280.1883654966.1568973295.1569199898.1569205225.4; __utmt=1; dbcl2=“204270440:NJwLpuLYlOE”; ck=Mx2O; douban-profile-remind=1; _pk_id.100001.8cb4=8f0d5ecf350456ac.1568973295.3.1569205755.1569203283.; __utmb=30149280.9.10.1569205225’,
    ‘Host’: ‘www.douban.com’,
    ‘Referer’: ‘https://www.douban.com/’,
    ‘Upgrade-Insecure-Requests’: ‘1’,
    ‘User-Agent’: ‘Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36’,
    }
    html = requests.get(url=url,headers=self.headers).text

使用session保持会话,完成登录

  1. 进入豆瓣点击输入错误密码,登录,抓取到post提交的地址,包名basic,https://accounts.douban.com/j/mobile/login/basic,查看From Data,将里面的数据作为post参数data的数据
    url1 = https://accounts.douban.com/j/mobile/login/basic
    url2 = https://www.douban.com/
    import requests

session = requests.session()
data = {
‘name’: ‘xxxx’,
‘password’: ‘xxxxx’,
‘remember’: ‘false’
}
session.post(url=url1,data=data)
html = session.get(url=url2,headers=headers).text
2. 以上简单两部就可完成模拟登录豆瓣,获取登录成功后才能看到的数据

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值