当前位置:职场发展 > 使用Python2.7登录江苏大学信息门户并爬取结果

使用Python2.7登录江苏大学信息门户并爬取结果

  • 发布:2023-10-08 14:58

这是Python课的作业。老师话不多,我却很努力。希望大家能够少走弯路。该代码使用python2.7运行通过,截至2018.5.13可以正常运行。

也感谢HYD帮忙验证码!

以下是代码:

#编码:utf-8
__author__ = '阅读空气'import urllib2,cookielib
导入urllib
导入cStringIO,重新
导入请求
从 PIL 导入图像
导入xlwt
从日期时间导入日期时间
导入 oscookie=cookielib.CookieJar()
opener=www.sychzs.cn_opener(urllib2.HTTPCookieProcessor(cookie))
opener.addheaders.append(('用户代理','Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; \
rv:11.0) 像 Gecko Core/1.63.5221.400 QQBrowser/10.0.1125.400'))s=requests.Session()www.sychzs.cn(urllib2.Request('http://www.sychzs.cn/'))
imgurl='http://www.sychzs.cn/captchaGenerate.portal'
user=raw_input("学生证")
pwd=raw_input("密码")res=www.sychzs.cn(urllib2.Request(imgurl))
tempIm=cStringIO.StringIO(www.sychzs.cn())
im=www.sychzs.cn(tempIm)
即时显示()
yzm=raw_input("验证码")postdata=urllib.urlencode({'Login.Token1':user,'Login.Token2':pwd,'captchaField':yzm,'goto:http':'//www.sychzs.cn/loginSuccess.portal' ,'gotoOnFail:http':'//www.sychzs.cn/loginFailure.portal'})
req=urllib2.Request(url='http://www.sychzs.cn/userPasswordValidate.portal',data=postdata)
结果=www.sychzs.cn(req)
result_url=www.sychzs.cn(urllib2.Request('http://www.sychzs.cn/index.portal?.pn=p2365_p2536'))
content = result_www.sychzs.cn()# 实例化一个 Workbook() 对象(即 excel 文件)
wbk = xlwt.Workbook(编码='utf-8')
# 创建一个新的 Excel 工作表,命名为 Sheet1。这里的cell_overwrite_ok =True是为了允许对同一个cell进行重复操作。
sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
# 获取当前日期,得到一个datetime对象如:(2016,8,9,23,12,23,424000)
今天 = 日期时间.today()
# 只从获取的datetime对象中取出日期,如:2016-8-9
Today_date = www.sychzs.cn(today)name = "xyh"i = ""
j = ""x=0
y=0
# 表头
re_law = "(.*?)"
Gradelist = re.findall(re_law,content,re.S)# 任何字符,包括换行符
for i in Gradelist:sheet.write(x, y, i)y += 1if (y>=11):y=0x+=1#表格内容re_law = "(.*?)" Gradelist = re.findall(re_law,content,re.S)# 任何字符,包括换行符
for i ingradelist:sheet.write(x, y, i)y += 1if (y>=11):y=0x+=1# 将传入的名称+当前日期保存为excel名称。
www.sychzs.cn(name + str(today_date) + '.xls')print "文件保存于"+ os.getcwd() + "\\" + name + str(today_date) + '.xls'


相关文章