开始想自己计算一下绩点,所以第一个小爬虫就从抓取自己成绩开始

1.工具: chrome浏览器 vscode
2.先来分析一下学校教务处成绩管理系统的结构,用的竟然是frame标签!!首先是一个输入学号的表单,找到表单后发现是一个post提交

这里是提交的数据

3.找到这些模拟登陆就变得很容易了,下面贴代码

import cgi
import cgitb
import json
import io
import pandas
import requests
from bs4 import BeautifulSoup
import jsonform=cgi.FieldStorage()
studentId=form.getvalue('id')def requestsData(url,headers,data):r=requests.post(url,headers=headers,data=data)return rdef htmlParser(r):soup=BeautifulSoup(r.text,'lxml')grades=soup.find_all('table')[3]tr_list=grades.find_all('tr')td=[tr.find_all('td') for tr in tr_list][1:]for data in td:a={"subject_id":data[1].text.lstrip('\xa0'),"subject_name":data[5].text.lstrip('\xa0'),"subject_xf":data[7].text.lstrip('\xa0'),"subject_grade":data[9].text.lstrip('\xa0')}yield(a)def fileWrite(data):for a in data:with open('file.txt','a',encoding='utf-8') as f:f.write(json.dumps(a,ensure_ascii=False)+'\n')f.close()def main():url='http://210.44.176.116/cjcx/zcjcx_list.php'headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36'}data={'post_xuehao':'学号'}html=requestsData(url,headers,data)fileWrite(htmlParser(html))main()
if __name__ == '__main__':main()

python小爬虫—获取学校教务处成绩相关推荐

  1. 小猿圈分享利用python网络爬虫获取网易云歌词

    今天小猿圈给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本 ...

  2. python小爬虫之天气查询

    python小爬虫之天气查询 刚开始研究爬虫,这个小程序通过抓取网页源代码,使用json解析实现了天气的查询. 1.需求分析 该博客实现了简单的天气查询功能,输入城市名称后可以查询出该城市的天气情况. ...

  3. 简单完整的Python小爬虫教程

    作者:vinyyu 声明:版权所有,转载请注明出处,谢谢. 1 调入需要使用的库 time库用于每次获取页面的时间间隔:pandas库用于DataFrame的数据格式存储:requests用于爬虫获取 ...

  4. python实现爬虫统计学校BBS男女比例(三)数据处理

    前言 自己实现的Python 爬虫,目的是统计学校论坛上男女用户各占多少. 转载请注明出处,文章地址如下 python实现爬虫统计学校BBS男女比例(一)前期准备.方案分析 http://blog.c ...

  5. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  6. Python网络爬虫获取淘宝商品价格

    1.Python网络爬虫获取淘宝商品价格代码: #-*-coding:utf-8-*- ''' Created on 2017年3月17日 @author: lavi ''' import reque ...

  7. python小爬虫SendKey自动刷博刷视频外挂

    python小爬虫SendKey自动刷博刷视频 SendKeys简介 sendkeys是python的一个扩展包,其中有一些常用的符号来表示键盘的快捷键或者输入的字符,对于pywinauto来说,非常 ...

  8. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)

    使用python的requests库简单爬取,使用xpath解析内容 可以获取个人信息.个人照片.成绩单和课表 github地址:https://github.com/PythonerKK/GZCC- ...

  9. 第一只python小爬虫

    前言: 互联网就像一张无形的蜘蛛网,网站就相当于在这张网的交叉结点.而网络爬虫就是这张网上的蜘蛛,它是一种程序,能够利用url链接在各网站之间自动穿梭并抓取所需数据. 学了python的正则表达式之后 ...

最新文章

  1. mac mysql phpmyadmin_Mac下搭建PHP开发环境(Apache+PHP+MySQL+phpMyAdmin)
  2. 正则化技巧:标签平滑(Label Smoothing)以及在 PyTorch 中的实现
  3. for 循环里调用ajax,for循环中ajax异步问题如何解决?
  4. python有趣代码-wtfPython―Python中一组有趣微妙的代码【收藏】
  5. Matlab--sort排序
  6. 华为手机30s桌面循环滑动_【短讯】内循环工程机械高景气;苹果自研自产两种口罩;明年起华为手机将搭载鸿蒙系统...
  7. 1355: [Baltic2009]Radio Transmission
  8. 【数据结构】数组和广义表
  9. mysql周报内容范文_Mysql各种表格查询含实例,日报,周报,月报,时间差自动计算...
  10. linux环型共享内存,Linux system v 共享内存
  11. 【转载】网易将军令工作原理
  12. 442个超实用电脑快捷键大全!总有你会用上的
  13. 60-100-020-使用-MySQL 的Show Profile命令
  14. Hyper-V用差异磁盘克隆系统
  15. SQL注入如何进行攻击
  16. 老年人健康管理系统技术开发
  17. MacOS怎么设置动态桌面,heic动态桌面壁纸怎么用
  18. vue获取屏幕高度赋值给div与获取div本身的高度
  19. ios 侧滑返回停顿_iOS侧滑卡死解决方法
  20. 优秀网页翻译:DS3231与 PCF2129 RTC比较

热门文章

  1. ajax获取session值_【JavaWeb】91:Cookie与Session
  2. 如何从基础到深入了解java构造器
  3. 如何理解Cookie、Session和Token
  4. 移位 c语言一个变量存储两个值,【杭州C  培训】C语言中基础小问题总结
  5. .net java xml_java.net.MalformedURLException – 在通过StAX解析XML文件时
  6. pytorch 画loss曲线_Pytorch练习amp;#8211;绘制Loss曲线 - 易采站长站
  7. 用R和BioConductor进行基因芯片数据分析(四):芯片内归一化
  8. silverlight创建新的控件——一个简单的弹出菜单
  9. 查询某个字段值为null的记录
  10. Failed to restart docker.service: Unit is masked.真正的解决办法