今天开会之前整理了一下以前的代码,发现自己以前模拟登陆的时候经常会碰到有csrftoken验证的网站,登陆会遇到一些麻烦,于是写了一个脚本,下面把代码贴出来:
#!/usr/bin/env python
import sys
import requests
import time
import string
login_url="http://www.mooc.buaa.edu.cn/login_ajax"
login_params={'email':'12345678@mooc.buaa.edu.cn','password':'12345678'}
client=requests.session()
client.get(login_url)
csrf_token=client.cookies['csrftoken']
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36','X-CSRFToken':csrf_token}
print (headers)
r=client.post(login_url,data=login_params,headers=headers)
print r.text
同时还发现了以前要下一些文件,然后文件太多了觉得麻烦就写了个脚本下载文件,下面把代码也贴出来:
import urllib
import datetime
urlPre = "http://1.2.3.4/zx/"
startTime = datetime.date(2016,10,03)
endTime = datetime.date(2017,02,13)
loopTime = startTime
csvName = ".csv"
while loopTime <= endTime:
timeTo = loopTime.strftime("%Y-%m-%d")
fileNamePre = "student."
fileUrl = urlPre + fileNamePre + timeTo + csvName
fileName = fileNamePre + timeTo + csvName
urllib.urlretrieve(fileUrl, fileName)
print fileName + " downloading end"
loopTime = loopTime + datetime.timedelta(days=7)
其实这个可以扩展成多线程的,也可以更改目录的,但是我太懒了,所以没有扩展。