鱼C论坛

 找回密码
 立即注册
查看: 3865|回复: 6

[技术交流] 54讲的动动手作业-豆瓣登录客户端

[复制链接]
发表于 2020-2-14 16:10:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一个账号 于 2020-3-7 14:48 编辑

完成了一次简单的豆瓣登录过程,写得代码有点简单,还需不断优化;

知识补充:

1、什么是自定义opener、什么是代理、如何设置cookie

ps:我们平时用的urlopen不支持cookie(用来服务器验证客户端身份)和proxy代理(用来反爬)等,所以需要自定义opener,以支持上述功能

链接:https://www.jianshu.com/p/a5460bc773c8

代码清单:

  1. import urllib.request
  2. from http.cookiejar import CookieJar
  3. import json




  4. def main():
  5.         # 豆瓣的登录url
  6.     loginurl = 'https://accounts.douban.com/j/mobile/login/basic'

  7.     #构建CookieJar对象,存储cookie信息
  8.     cookie = CookieJar()      #程序运行后,可以输出cookie看下,嘻嘻         
  9.     opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))

  10.         #创建一个header头部,用来反爬
  11.     user_agent = 'Mozilla/5.0 3578.98 Safari/537.36'   
  12.     headers ={'User-Agent':user_agent}

  13.     '''输入你的账号/密码'''
  14.     data = {}
  15.     data['name'] = '你的账号'                  
  16.     data['password'] = '你的密码'               
  17.     data['remember'] = 'false'


  18.     req= urllib.request.Request(loginurl,urllib.parse.urlencode(data).encode('utf-8'),headers)  
  19.     res = opener.open(req)   

  20.     html = res.read().decode('utf-8')
  21.     print(type(html))   #追踪,发现是str类型的
  22.     print(html)         #同上,需要转化成json格式

  23.     a= json.loads(html) #转化为json格式

  24.     if a['status'] == 'success':
  25.          print('登录成功')
  26.     else:
  27.          print('登录失败')


  28. if __name__ == '__main__':
  29.     main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 15:02:52 | 显示全部楼层
支持一波
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-5 19:34:17 | 显示全部楼层
跟楼主一比对发现果然是小甲鱼的版本太老了 哈哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-22 20:18:47 | 显示全部楼层
老哥,我运行了你的代码,登录失败了,返回的json里面显示参数缺失,麻烦解答一下,求求了
{"status":"failed","message":"parameter_missing","description":"参数缺失","payload":{}}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 13:47:09 | 显示全部楼层
无锋 发表于 2020-5-22 20:18
老哥,我运行了你的代码,登录失败了,返回的json里面显示参数缺失,麻烦解答一下,求求了
{"status":"fai ...

同求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 13:53:31 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-8 17:58:05 | 显示全部楼层
感谢楼主
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-26 21:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表