1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| import http.client import urllib import os
_xh = '**********' _pw = '**********' VIEWSTATE = 'dDwtMTIwMTU3OTE3Nzs7PpxRSEGelcLnTaPgA3v56uoKweD+' host = 'jwc.****.edu.cn:8989' main_url = 'http://' + host login_page = '/default2.aspx' login_url = main_url + login_page readimage_page = '/readimagexs.aspx' print(main_url) print(login_url)
conn = http.client.HTTPConnection(host) login_post_data = urllib.parse.urlencode({ '__VIEWSTATE': VIEWSTATE, 'TextBox1': _xh, 'TextBox2': _pw, 'RadioButtonList1': '学生', 'Button1': '', 'lbLanguage': '' }) login_post_data = login_post_data.encode('utf-8') login_headers = { 'Host': host, 'Connection': 'keep-alive', 'Origin': main_url, 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5', 'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Referer': main_url, 'Accept-Encoding': 'gzip,deflate,sdch', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Accept-Charset': 'GBK,utf-8;q=0.7,*;q=0.3' }
conn.request('POST', login_page, body = login_post_data, headers = login_headers) result = conn.getresponse() print(result.status)
cookie = result.msg['set-cookie'].split(';')[0]
conn.close()
readimage_headers = { 'Host': host, 'Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip,deflate,sdch', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Accept-Charset': 'GBK,utf-8;q=0.7,*;q=0.3', 'Cookie': cookie }
conn.request('GET', '/xs_main.aspx' + '?' + 'xh=' + _xh, headers = readimage_headers)
conn.close()
for year in range(1, 12): for college in range(1, 20): for major in range(1, 15): for mclass in range(1, 10): for series in range(1, 50): image_xh = "%02d%02d%02d%02d%02d" % (year, college, major, mclass, series) readimage_url = readimage_page + '?' + 'xh=' + image_xh print(readimage_url) conn.request('GET', readimage_url, headers = readimage_headers) result = conn.getresponse() image = result.read() if len(image) > 1024: save_path = os.path.join(os.path.abspath('./pic/'), image_xh + '.bmp') print(save_path) fp = open(save_path, 'wb') fp.write(image) fp.close() else: print('skip') print('done') conn.close()
|