本程序以四川理工学院教务管理系统为例。。。。
准备工作:1.ruquests库的使用(或者urllib也可行)
2.正则表达式的书写
3.HTTP通信基础
4.一些解析库的使用
准备一个浏览器监视工具,这里我是用的是fiddler下载地址点击打开链接
登录官网获取到登录系统url:http://61.139.105.138/default2.aspx
这里可以知道浏览器是先请求登录页面,让后转到去获取验证码图片。
仔细分析验证码连接发现:
这个请求方式是get但包含有cookies
所以模拟登录前获取验证码时需要带上cookies否则登录会一直提示验证码错误
查看发送的请求
__VIEWSTATE可以在登录页面的脚本中捕捉到 后面的数据便是post请求需要带上的数据
最后对于网页上的验证码问题,这里选择下载验证码图片并自动打开。
下面贴上模拟登录的代码
import requests
import re
from html.parser import *
import urllib.request
import os
x=[]
state=[]
class Scraper(HTMLParser):
def handle_starttag(self,tag,attrs):
if tag=='img':#验证码
attrs=dict(attrs)
if(attrs.__contains__('id')):
x.append(attrs["src"])