鱼C论坛

 找回密码
 立即注册
查看: 1598|回复: 15

[已解决]模拟网页登录操作

[复制链接]
发表于 2020-7-13 20:23:43 | 显示全部楼层 |阅读模式

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

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

x
未登录鱼C论坛账号在交流区发帖会弹出登录验证页面我用下面的代码模拟登录出错,求改正
  1. from urllib.request import HTTPPasswordMgrWithDefaultRealm,HTTPBasicAuthHandler,build_opener
  2. from urllib.error import URLError

  3. username='xxxxxxx'
  4. passward='xxxxxxxxx'
  5. url='https://fishc.com.cn/forum.php?mod=post&action=newthread&fid=173'

  6. p=HTTPPasswordMgrWithDefaultRealm()
  7. p.add_password(None,url,username,passward)
  8. auth_handler=HTTPBasicAuthHandler(p)
  9. opener=build_opener(auth_handler)
  10. try:
  11.     result=opener.open(url)
  12.     html=result.read().decode('utf-8')
  13.     print(html)
  14. except URLError as e:
  15.     print(e.reason)
复制代码
  1.   File "C:/Users/tiger/PycharmProjects/spider/test2.py", line 20, in <module>
  2.     html=result.read().decode('utf-16')
  3. UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 2254-2255: illegal UTF-16 surrogate

  4. Process finished with exit code 1
复制代码
最佳答案
2020-7-13 20:42:58
html = result.read().decode('gbk')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-13 20:42:44 From FishC Mobile | 显示全部楼层
你在哪里用 utf-16 解码的?
你发的代码里没有报错内容的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:42:58 | 显示全部楼层    本楼为最佳答案   
html = result.read().decode('gbk')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:43:51 From FishC Mobile | 显示全部楼层
suchocolate 发表于 2020-7-13 20:42
html = result.read().decode('gbk')

……你看这里面都没有 Line 20
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:46:05 | 显示全部楼层
_2_ 发表于 2020-7-13 20:43
……你看这里面都没有 Line 20

我也随便写写,估计他的代码不全,或者报错也是给的对不上当前的代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:46:40 From FishC Mobile | 显示全部楼层
suchocolate 发表于 2020-7-13 20:46
我也随便写写,估计他的代码不全,或者报错也是给的对不上当前的代码。

对,
弄的我很懵逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 20:47:41 | 显示全部楼层
suchocolate 发表于 2020-7-13 20:42
html = result.read().decode('gbk')
  1.     html=result.read().decode('utf-gbk')
  2. LookupError: unknown encoding: utf-gbk
复制代码

老板实测下啊,不行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 20:49:30 | 显示全部楼层
_2_ 发表于 2020-7-13 20:42
你在哪里用 utf-16 解码的?
你发的代码里没有报错内容的代码

试了下utf-16,代码和报错内容不匹配
额,这个不是重点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:49:59 | 显示全部楼层
tiger吴 发表于 2020-7-13 20:47
老板实测下啊,不行啊


1,是 gbk 不是 utf-gbk !

2,代码没有发全
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 20:51:57 | 显示全部楼层
suchocolate 发表于 2020-7-13 20:46
我也随便写写,估计他的代码不全,或者报错也是给的对不上当前的代码。

我没看清,又试了下可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:51:59 From FishC Mobile | 显示全部楼层
tiger吴 发表于 2020-7-13 20:49
试了下utf-16,代码和报错内容不匹配
额,这个不是重点

看了一下报错信息应该不是这个文件的错误,
麻烦把 Python 报错的那个代码发过来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:52:43 From FishC Mobile | 显示全部楼层
tiger吴 发表于 2020-7-13 20:47
老板实测下啊,不行啊

gbk 不是 utf 里的,
直接 "gbk" 就可以
略略略
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-13 20:53:59 From FishC Mobile | 显示全部楼层
tiger吴 发表于 2020-7-13 20:49
试了下utf-16,代码和报错内容不匹配
额,这个不是重点

常用的要么是 utf-8 要么就是 gbk 别的很少用到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 20:59:05 | 显示全部楼层
liuzhengyuan 发表于 2020-7-13 20:49
1,是 gbk 不是 utf-gbk !

2,代码没有发全

代码发全了,至于你们说的行数对不上,是因为我的程序最开始几行都会加上几行没用的代码,我没有复制过去的原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 21:00:25 | 显示全部楼层
_2_ 发表于 2020-7-13 20:53
常用的要么是 utf-8 要么就是 gbk 别的很少用到

额,编码问题还是很懵逼,utf-8见的多点,其余的不认识
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-13 21:03:30 | 显示全部楼层
_2_ 发表于 2020-7-13 20:52
gbk 不是 utf 里的,
直接 "gbk" 就可以
略略略

感谢各位热心大佬帮忙解决问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 09:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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