python四级成绩_python 批量爬取四级成绩单

使用本文爬取成绩大致有几个步骤:1、提取表格(或其他格式文件——含有姓名,身份证等信息)中的数据,为进行准考证爬取做准备。2、下载准考证文件并提取出准考证和姓名信息。3、根据得到信息进行数据分析和存储。

所有需要的工具库:

import urllib

import requests

import xlrd

import json

import re

import time

import os

import operator

from aip import AipOcr

from selenium import webdriver

from PIL import Image

具体实现:

一、提取姓名身份证信息并获取下载url关键信息

# 创建session访问对象

session = requests.session()

session.headers = {'打开对应网站http://cet-bm.neea.edu.cn/Home/QuickPrintTestTicket,复制cookies,必需!!!'}

# 得到身份证和姓名信息

# 返回一个包含名字和id的列表

def get_name_id():

xls_data = xlrd.open_workbook(r'你的表格.xls')

tables = xls_data.sheets()[0]

for i in range('范围'):

rows = tables.row_values(i)

id = rows[7]

# 对中文进行了url编码处理

name = urllib.parse.quote(rows[5])

yield [name, id]

list_info = get_name_id()

# 经过观察发现下载链接中只有一个sid参数有变化,所以我们下面筛选出sid参数并保存

# 需要手动到网站上点一个验证码, 时间大概在一分钟

# 到时后可能会有变动,请根据具体情况修改

yzm = '验证码'

# 存储最终数据

data = []

for i in list_info:

# 参数provinceCode是省份编码,请根据具体情况及时修改

# 另参数这里我没有用字典形式传入,所以中文转化成了url形式的

res = session.post('http://cet-bm.neea.edu.cn/Home/ToQuickPrintTestTicket',

data='Name={}&verificationCode={}&provinceCode=34&IDNumber={}&IDTypeCode=1'.format(i[0], yzm, i[1]))

# 处理数据 以便存储

txt = res.content.decode('utf8')

txt = txt.replace('\\', '')

sid_one = re.findall("SID\":\"(.*?)\",", txt)[0]

name_ = urllib.parse.unq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值