鱼C论坛

 找回密码
 立即注册
查看: 1477|回复: 3

python54讲豆瓣登录为什么没反应

[复制链接]
发表于 2018-3-30 17:09:29 | 显示全部楼层 |阅读模式

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

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

x
在.py文件中编写的函数,点击运行一点反应都没有


但是把函数放在IDLE中运行就可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-3-30 19:07:52 | 显示全部楼层
我的代码:
#登录豆瓣
# -- coding:gbk --

def main():
    import re
    import urllib.request
    import urllib.parse
    import http.cookiejar
    print(0)
    loginurl = 'https://www.douban.com/accounts/login'
    print(1)
    cookie =http.cookiejar.CookieJar()
    print(2)
    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor)
    print(3)     
    data = {}
    test={}
    data['source']='index_nav' #没有的话登录不成功
    data['form_email']='*******'
    data['form_password']='********'
    print(data)
    #data=urllib.parse.urlencode(data).encode('utf-8') 使用者一句会导致后面添加验证码时出错
        
    #从首页提交登录
    response=opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))
    print(response.read().decode('utf-8'))
    #验证成功跳转至登录页
    if response.geturl() == 'https://www.douban.com/accounts/login':
        html=response.read().decode('utf-8')
        print(html)
        mycode=input('请输入:')
        test['code']=mycode
        #验证码图片地址
        imgurl=re.search('<img id="captcha_image" \
src="(.+?)" alt="captcha" class="captcha_image"/>', html)
        if imgurl:
            url=imgurl.group(1)
            #将图片保存至同目录下
            res=urllib.request.urlretrieve(url, 'v.jpg')
            #获取captcha-id参数
            captcha=re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>' ,html)
            if captcha:
                vcode=input('请输入图片上的验证码:')
                data['captcha-id'] = captcha.group(1)
                data['captcha-solution'] = vcode               
                data['user_login'] = '登录'
                #提交验证码验证
                response=opener.open(loginurl,urllib.parse.urlencode(data).encode('utf-8'))
                ''' 登录成功跳转至首页 '''
                if response.geturl() == "https://www.douban.com/":
                    print('login success ! ')
    else:
        print(response.geturl())
点击运行之后IDLE中没有一点反应

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

使用道具 举报

发表于 2018-4-1 11:22:06 | 显示全部楼层
我也是,楼主后面解决了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-3 09:21:21 | 显示全部楼层
Damonable 发表于 2018-4-1 11:22
我也是,楼主后面解决了吗

没有啊
找不到原因
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-29 00:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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