简单的python爬取四六级成绩
python语言刚刚开始学,又遇到了一个同学忘记自己的准考证号,99宿舍找回准考证号失败了,所以就想知道准考证号的大致范围,一个一个的去查总有结果,这只是最初的想法,于是就勇敢的去做了。
用wireshark抓包分析 得到的信息为 post方法
然后用python模拟post 由于这次是失败的,所以就没有贴代码
尝试过改过表头 返回的数据总是不正确,于是去网上查,看到爬学信网的代码,于是测试成功,但是99宿舍的没有成功,或许是99改了post提交
爬学信网的代码:
import requests import re#自定义头文件 header={'Referer':'http://www.chsi.com.cn/cet/','User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0','Host':'www.chsi.com.cn'}#学信网的url url="http://www.chsi.com.cn/cet/query" #读取每一行的准考证号和姓名 num0=0000000000 #准考证号 for i in range(100):num=str(num0+i)name='' #名字前两位param={'zkzh':num,'xm':name}#构造getresponse=requests.get(url,headers=header,params=param)#为了方便正则表达式找总分,去掉所有换行符newtext=response.text.replace('\n','')try:#正则表达式找到总分score=re.findall('<span class="colorRed">.*?(\d+)',newtext)#输出“姓名+总分”字符串ans=name+" "+score[0]#打印该字符串print(ans)except:#打印未能成功爬取的人print("no:",num,response.status_code)
总结这次失败的原因:对python语言不够熟悉,对post提交不够了解。
-----------------------------------------------------2017 2 26 下午--------------------------------------------
又尝试了一次,这次用的fiddler 4 来模拟http请求,几次模拟post提交都成功了,但是用python模拟就失败,当用fiddler抓python的post提交时,才发现中文没有进行编码,改掉之后,就成功了,
模拟post提交代码如下:
#!coding:utf-8 import requests header= {'Host': 'cet.99sushe.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding': 'gzip, deflate','Referer': 'http://cet.99sushe.com/','Cookie': 'CNZZDATA30023677=cnzz_eid%3D1356778947-1488029294-null%26ntime%3D1488083343; id=准考证号; score=','Connection': 'keep-alive','Upgrade-Insecure-Requests':'1','Content-Type': 'application/x-www-form-urlencoded','Content-Length': '36'} param={'id':'准考证号','name':'名字'.encode('gbk')} url="http://cet.99sushe.com/getscore+准考证号" print(url,param) response=requests.post(url,headers=header,data=param) print(response.text)
总结:汉字记得编码,如果查询的数量多的话,学信网会有验证码,99宿舍网会封ip,这点需要注意,
参考资料:https://etenal.me/archives/752
转载于:https://www.cnblogs.com/myblog-2015/p/6443775.html
简单的python爬取四六级成绩相关推荐
- 超简单,Python爬取阴阳师式神视频
Python爬取阴阳师官网式神CG,附完整代码 爬取阴阳师式神宣传CG 网页分析 教程开始 1 发送网页请求 使用第三方库requests来获取网页 使用BeautifulSoup解析网页 2 获取目 ...
- 超简单,Python爬取阴阳师游戏原声
Python爬取阴阳师游戏BGM,附完整代码 爬取阴阳师游戏原声 网页分析 教程开始 1 请求json文件并获取数据 2 保存文件 注意,一定要看 结语 完整源码 目标网址:https://yys.1 ...
- 超简单,Python爬取阴阳师原画壁纸
Python爬取阴阳师官网原画壁纸,附完整代码 爬阴阳师官网插画 网页分析 教程开始 1 获取网页源代码 使用第三方库requests来获取网页 2 获取目标数据 使用BeautifulSoup解析网 ...
- 用python爬取网络图片_简单实现Python爬取网络图片
本文实例为大家分享了Python爬取网络图片的具体代码,供大家参考,具体内容如下 代码: import urllib import urllib.request import re #打开网页,下载器 ...
- 干货分享!简单的python爬取网站数据。
1. 使用 urllib.request 获取网页 urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 ...
- 简单python爬取微博并写入excel
写了一个简单的Python爬取指定用户微博的内容和图片,目前比较简陋,之前有在github上参考别人写的爬虫,发现现在微博好像使用的是Ajax的方式来渲染数据,这也太方便了,直接请求接口,然后解析 ...
- 如何利用python爬取网站数据
Python是一种非常适合用于网络爬虫的编程语言,以下是Python爬取网站数据的步骤: 1. 确定目标网站和所需数据:首先要找到需要爬取数据的网站,确定你需要爬取的数据是哪一部分. 2. 发送请求: ...
- 用python爬取基金网信息数据,保存到表格,并做成四种简单可视化。(爬虫之路,永无止境!)
用python爬取基金网信息数据,保存到表格,并做成四种简单可视化.(爬虫之路,永无止境!) 上次 2021-07-07写的用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化. 有的人留 ...
- python爬取toefl_spark学习进度6-Python爬取数据的四个简单实例
今天本来想把昨天安装的intellij配置好,但是一直显示没有网络,网上查了相关资料也没有查出来解决办法. 然后暂停了intellij的配置,开始做了几个Python爬取简单数据的实例,先做了几个最简 ...
最新文章
- NASM学习之Windows下编写16位程序
- 6.win03安全策略
- 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
- 关于opencv中Mat赋值(浅拷贝,深拷贝)原理
- 中兴智能视觉大数据:人脸识别技术目前处于“用的不够,用的不好”
- linux修改默认python版本_Linux 升级 Python 并修改默认版本
- ITA结合测试(总结之六:ITA上的时间,与本地时间)
- C# 浏览器控件 谷歌、火狐内核
- CocoaAsyncSocket
- 应用实战:从Redis到Aerospike,我们踩了这些坑
- matlab绘制奈奎斯特图
- vivado2019.2安装+license添加教程
- 第3章 Kafka API
- EBS之JTF_Grid 开发总结
- c# 阿拉伯数字转成中文
- 斯卡布罗市集 (口哨/宁林 人声/宁林) - 韩乘光
- UI设计中图形设计详解
- go 切片排序以及转为带间隔符的字符串
- JS逆向|使用pyexecjs库替换加密字符串
- 基于OpenCV的图像融合