# coding: utf-8
import urllib.request
import http.cookiejar
import logging,os
from lxml import etree#配置日志级别为INFO
logging.basicConfig(level=logging.INFO)#启用cookie自动管理
cj=http.cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)#post登陆请求参数
values={'userid':'******','userpass':'******'}
data = urllib.parse.urlencode(values)
data = data.encode('ascii') # data should be bytes
ks5u_login_url='http://www.ks5u.com//User/Chk_UserLogin.asp'
req = urllib.request.Request(ks5u_login_url, data)#登陆网站,获得授权
logging.info('开始登陆网站!')
with urllib.request.urlopen(req) as response:html=response.read()# with open('ks5u_login.html','w') as outfile:# outfile.write(html.decode('gb2312'))
logging.info('登陆成功!')logging.info('访问2016高考真题下载页面!')
all_url='http://old.ks5u.com/shiti/gaokao/2016/'
with urllib.request.urlopen(all_url) as response:html=response.read().decode('utf-8')# with open('ks5u.html','w',encoding='utf-8') as outfile:# outfile.write(html)# logging.info('写入文件ks5u.html成功!')root=etree.HTML(html)  #利用lxml解析获得的html文件#利用xpath搜索节点#'//div[@class="sub_jiexi"]'#//表示任意节点#div节点名称#[@...]属性满足的条件for div in root.xpath('//div[@class="sub_jiexi"]'):for a in div:if a.text=='解析':# headers中不能包含中文字符,否则'latin-1'不能编码# 某些站点有所谓的反盗链设置,其实说穿了很简单,# 就是检查你发送请求的header里面,referer站点是不是他自己,# 所以我们只需要像把headers的referer改成该网站即可headers = {'Referer':a.get('href')}fileid=a.get('href').split('/')[-1].split('.')[0]doc_url='http://www.ks5u.com/USER/INC/Downsch.asp?id='+fileidreq = urllib.request.Request(doc_url, None, headers) logging.info('开始下载编号为%s的文件'%(fileid,))if not fileid or not fileid.isdigit():continuewith urllib.request.urlopen(req) as r2:# 取得doc文件名时编码的转换由ISO-8859-1转为gbkfilename=r2.headers.get_filename().encode('ISO-8859-1').decode('gbk')#如果文件存在,跳过if os.path.exists(filename):logging.info('文件%s已经存在!'%filename)continuelogging.info('获得文件名%s'%filename)#下载文件with open(filename,'wb') as outfile:try:outfile.write(r2.read())logging.info('保存文件%s成功!'%(filename,))except :pass

利用urllib从ks5u下载2016高考真题相关推荐

  1. vb中mschart利用数组作图_选考VB算法解析之2019年4月高考真题卷第17题

    说在前面 在对数组排序时,我们常把数组分成已排序区域和待排序区域,并使用左右边界来划分待排序区域的范围:对分查找时我们也引入了左右边界的概念.可见左右边界在数组中是一个非常重要的概念,它在分段处理数组 ...

  2. 高中数学,向量高考真题解题技巧(快速口算)

    作者:vxbomath 同学们今天跟大家分享一下向量难得解题技巧,我们平时遇到向量问题的高考真题的时候,常规运算3到5分钟未必得到答案的.我们如何快速的出答案了,老师今天就给大家分享一终思维方式,同学 ...

  3. 辽宁中职升高职计算机考试,2021年_辽宁省_中职升高职高考真题

    <2021年_辽宁省_中职升高职高考真题>由会员分享,可在线阅读,更多相关<2021年_辽宁省_中职升高职高考真题(4页珍藏版)>请在人人文库网上搜索. 1.2021年_辽宁省 ...

  4. 中职对口高考计算机应用历年真题,湖南省计算机应用对口高考真题

    湖南省计算机应用对口高考真题 2005年湖南省对口招生 计算机应用类专业综合知识试题 一. 单项题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正 确答案的选项填入题干的括号内.多选 ...

  5. 全国各地高考真题及答案

    全国各地高考真题及答案 http://news.163.com/special/00012A27/07gaokaost.html

  6. 考研英语一2016年真题4篇阅读词汇句子积累(详细!!!)

    写在前面:本文是对2016年英语一考研真题4篇阅读的整理. 文章目录 2016年英语一真题 Text1 时尚界审美的变化 词汇积累 句子积累 Text2 英国乡村需要保护 词汇积累 句子积累 Text ...

  7. 大学计算机算法程序框图,2019高考真题:算法与程序框图,专题解析

    "算法与程序框图"成为高中数学内容后,每年高考都以一道选择题或填空题的形式考查这部分内容,试题中的算法也多以程序框图的形式呈现,少数试题以程序的形式出现,2019年高考试题中的&q ...

  8. 短文改错高考真题500题分析专栏初衷

    一.是什么触动了我做这件事 今年37岁,一直想学好英语,一直也在学习英语,有两个女儿,老大6岁,老二马上2岁,可能是因为最近自己也要准备英语演讲考试的原因(浙江大学工程管理硕士在职),最近业余时间花在 ...

  9. 【导数术】补充:历年高考真题

    目录 导数真题练习 [1]2022年度真题集 (2022-新高考1卷) (2022-全国甲卷) (2022-全国乙卷) [2]2021年度真题集 (2021-全国甲卷) (2021-全国乙卷) (20 ...

最新文章

  1. Graph + AI 2021中国峰会:TigerGraph与行业共探图与AI应用前景
  2. 一个伟大、孤僻、特立独行的灵魂:天才已去60年
  3. 从0到1演示用 Git Rerere 自动解决冲突
  4. c++ 调用cmd命令行函数 可隐藏黑框 四种方法总结
  5. Python3 反转一个单链表
  6. [读书笔记] - 《深度探索C++对象模型》第4章 Function语意学
  7. 将数据插入SQL Server的方法
  8. 手机电子商务进入黄金时期 主机WAP功能受重视
  9. cgroup的学习(一)——what cgroup?
  10. Git第一次提交代码的操作
  11. 【Java】使用JavaMail发送qq邮件
  12. 【python--爬虫】彼岸图网高清壁纸爬虫
  13. axios+springboot 报错 POST http://localhost:8080/Login 404 (Not Found)
  14. Arduino UNO + 74HC595联级+数码管实现000-999循环计数显示+ Proteus仿真
  15. 计算机五笔字型编码方法,无字型五笔编码计算机中文输入法
  16. 1.电磁波传播原理,慢衰落、快衰落、阴影效应、多径传播、多普勒效应、塔下黑。
  17. 飞语云通信SDK,助力社交、医疗、金融等
  18. VCS工具学习笔记(4)
  19. 中国科大夏令营BDAA实验室(陈恩红老师组)面试机试记录
  20. matlab解决匀速直线运动,匀速直线运动的意思

热门文章

  1. mysql插入中文错误
  2. 【安利】程序猿作图神器 - Graphviz
  3. 固体火箭推进剂理论(二)
  4. 30 万奖学金瓜分| CSDN 软件开发精英赛火热报名中!
  5. Three.js 模型闪烁重影(深度问题)
  6. 四级词汇词根 联想记忆法
  7. 比windows自带快百倍的文件查找工具-Everything
  8. JAVA入门学习(分支语句)
  9. 世界上最神奇的24堂课--0--序言
  10. linux mint wifi自动重试_Linux高效工作工具之Catfish,优秀桌面文件搜索工具