账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?
    28
    0

    题目描述

    我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决。我知道可能是权限问题,下载的时候需要带cookies,虽然我又附加,但是显示无此页面。

    相关代码

    coding=utf-8

    import requests
    import itchat
    import xlrd
    import time
    from requests.cookies import RequestsCookieJar

    def user_login():

    username = raw_input("请输入您的工号:")
    password = raw_input("请输入您的密码:")
    login_data = {
        'action': "login",
        'account': username,
        'password': password,
                    }
    base_url = "https://kdy.kuaidihelp.com/account/Ajax"
    headers = {'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
               'Accept - Encoding': 'gzip, deflate',
               'Accept-Language': 'zh-Hans-CN, zh-Hans; q=0.5',
               'Connection': 'Keep-Alive',
               'Host': 'www.kuaidihelp.com',
               'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063'}
    html = requests.post(base_url, data=login_data, headers= headers)  #先登录取得cookies
    login_cookies = requests.cookies.RequestsCookieJar()  # 利用RequestsCookieJar获取
    login_cookies.set('onlinewduser', 'QC8%2FgJRSBVCaubrSfGDJDQZx3IleevuBpIOLQ1VdUJC37askB715oECn44HpiNG6UQUOl0WnQXIjvWHmsyMjvCEnQjsUqLB1Ojxm8hAuOgGK3l4W%2F8eJgP%2F3ExoTbNVT0OmugzsCjjNM %2Bq4omPohvQIiEbcmz7daEiPhT%2FBmX%2FmZPwLknxke%2FAadewMYctrOzyvxon6srfL2PbnA9HOI1nTmtDmiTL8shl8uLH8bxCTl0McD6OsTd5JZKQp6xoT39KqOanEnoeSMznmfHVs04gr%2FpCWK78XGSmJXciVm07FcgOZGasKC1n9gy1r%2FcYvo')
    from_time = time.strftime('%Y-%m-%d',time.localtime(time.time()))
    print from_time
    excel_url = "https://kdy.kuaidihelp.com/ess/downPrintRecord?s_date={}&e_date={}&type=backupRecord&d_l=1".format(from_time, from_time)
    print excel_url
    r = requests.get(excel_url, stream=False, headers=headers, cookies=login_cookies,)
    
    print r.text
    with open("data.txt", "wb") as code:
        code.write(r.content)
        time.sleep(500)
    

    user_login()

    你期待的结果是什么?实际看到的错误信息又是什么?

    我想登陆我的工号,下载每天的发货记录,然后通过微信通知我检查一下,避免有漏扫描的。

    问题出现的环境背景及自己尝试过哪些方法

    一开始可以登陆正常,requests返回码显示200.但是后来提交下载的URL后,显示页面不存在。我查看过cookies后发现,登陆以后cookies会多一项,于是我更新cookies中新增的值,还是报一样的错。

    你期待的结果是什么?实际看到的错误信息又是什么?

    依照我的规划,我登陆可以直接下载到所有数据,然后将数据清洗一下,然后通过itchat发送到我的微信。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 怀沐 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部