鱼C论坛

 找回密码
 立即注册
查看: 979|回复: 11

[已解决]54讲作业登录豆瓣的客户端

[复制链接]
发表于 2019-2-14 15:38:58 | 显示全部楼层 |阅读模式

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

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

x
  1. import re
  2. import urllib.request
  3. from http.cookiejar import CookieJar

  4. # 豆瓣的登录url
  5. loginurl = 'https://www.douban.com/accounts/login'
  6. cookie = CookieJar()
  7. opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor)

  8. data = {
  9.     "form_email":"your email",
  10.     "form_password":"your password",
  11.     "source":"index_nav"
  12. }
  13. data = {}
  14. data['form_email'] = '你的账号'
  15. data['form_password'] = '你的密码'
  16. data['source'] = 'index_nav'

  17. response = opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))

  18. #验证成功跳转至登录页
  19. if response.geturl() == "https://www.douban.com/accounts/login":
  20.     html = response.read().decode()
  21.    
  22.     #验证码图片地址
  23.     imgurl = re.search('<img id="captcha_image" src="(.+?)" alt="captcha" class="captcha_image"/>', html)
  24.     if imgurl:
  25.         url = imgurl.group(1)
  26.         # 将验证码图片保存至同目录下
  27.         res = urllib.request.urlretrieve(url, 'v.jpg')

  28.         # 获取captcha-id参数
  29.         captcha = re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>' ,html)

  30.         if captcha:
  31.             vcode = input('请输入图片上的验证码:')
  32.             data["captcha-solution"] = vcode
  33.             data["captcha-id"] = captcha.group(1)
  34.             data["user_login"] = "登录"

  35.             # 提交验证码验证
  36.             response = opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))

  37.             # 登录成功跳转至首页 '''
  38.             if response.geturl() == "http://www.douban.com/":
  39.                 print('登录成功!')
复制代码


这是小甲鱼的代码,为什么我运行这个什么反应都没有?
最佳答案
2019-2-14 16:25:03
本帖最后由 Stubborn 于 2019-2-14 16:27 编辑
脚底的老泥 发表于 2019-2-14 16:17
看思路还是不懂啊,麻烦指点一下,运行这个代码我需要做什么,十分感谢!


账号密码提交的URL就不对,特别是爬虫类的代码,维护很频繁,以前的老代码,重要的是看思路。看懂思路自己重新修改,我上面传了图片,是我登录失败的,你得找下,登录成功后,是向呢个URL提交的post请求
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-14 15:41:01 | 显示全部楼层
你的账号密码写上去了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 15:45:58 | 显示全部楼层
Stubborn 发表于 2019-2-14 15:41
你的账号密码写上去了吗

写上去啦,自己网页验证一遍自己的账号是可以登录的,到这里不知道就为什么运行不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 15:47:12 | 显示全部楼层
没出错,就是啥反应都没
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 16:14:38 | 显示全部楼层
本帖最后由 Stubborn 于 2019-2-14 16:21 编辑

您直接照抄的?自己看思路老铁~~~
0001.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 16:17:53 | 显示全部楼层
Stubborn 发表于 2019-2-14 16:14
您直接照抄的?自己看思路老铁~~~

看思路还是不懂啊,麻烦指点一下,运行这个代码我需要做什么,十分感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 16:23:36 | 显示全部楼层
都学这么远了,我还卡在30讲不得动
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 16:25:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Stubborn 于 2019-2-14 16:27 编辑
脚底的老泥 发表于 2019-2-14 16:17
看思路还是不懂啊,麻烦指点一下,运行这个代码我需要做什么,十分感谢!


账号密码提交的URL就不对,特别是爬虫类的代码,维护很频繁,以前的老代码,重要的是看思路。看懂思路自己重新修改,我上面传了图片,是我登录失败的,你得找下,登录成功后,是向呢个URL提交的post请求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 16:31:28 | 显示全部楼层
来论坛学潮汕话 发表于 2019-2-14 16:23
都学这么远了,我还卡在30讲不得动

你这I昵称有意思,我就是潮汕人啊哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-14 23:14:04 | 显示全部楼层
脚底的老泥 发表于 2019-2-14 16:31
你这I昵称有意思,我就是潮汕人啊哈哈

因为小甲鱼课件中讲的是潮汕话,所以我才取的这名
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-8 09:56:26 | 显示全部楼层
Stubborn 发表于 2019-2-14 16:14
您直接照抄的?自己看思路老铁~~~

想问一下这个network中的信息是怎么找到的,现在登陆豆瓣network那里会直接刷新,找不到请求方式是post的那一条
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-8 13:51:43 | 显示全部楼层
fzx960326 发表于 2019-3-8 09:56
想问一下这个network中的信息是怎么找到的,现在登陆豆瓣network那里会直接刷新,找不到请求方式是post的 ...


失败登陆,信息会少很多比较容易找
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 02:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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