写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?

新手上路,请多包涵

题目描述

我计划写一个小工具,爬取我账号里面的数据,采用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.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题