Skip to content

Latest commit

 

History

History
101 lines (88 loc) · 3.17 KB

readme.md

File metadata and controls

101 lines (88 loc) · 3.17 KB

swjtudean

所有代码主要爬虫对象为西南交通大学教务网或扬华网

  • /homepage/jiaowu.py 教务网主页信息爬取
  • /homepage/yanghua.py 扬华网信息爬取
  • /login/chrome.py chrome模拟登录教务网
  • /login/login.py 利用百度api识别验证码登录教务网
  • /personal_page/evaluation.py 教务登陆后个人主页完成课程评价
  • /personal_page/tuimian.py 教务登陆后个人主页完成保研课查询
  • /mail.py 辅助完成邮件发送
  • /main.py 运行程序

涉及到的所有包 baidu-aip lxml openpyxl Pillow psycopg2 requests selenium xlrd

python版本 最低为3.6

baidu-aip之外的所有包都可用conda安装

自动评价

安装本部分涉及到的包 pip install baidu-aip lxml Pillow requests

在终端窗口下,使用 Git clone 代码:

git clone https://github.com/sssimonyang/swjtudean
cd swjtudean

自动评价涉及的文件为

  • /login/login.py
  • /personal_page/evaluation.py
  • /config.py 需自行创建
  • /main.py

进入百度ai开放平台
点击控制台 登录 选择左侧文字识别 然后创建应用
应用的名字和简介随便写,创建成功后会显示AppID API Key Secret Key 在该目录下创建config.py

config.py

APP_ID = '17868961'  # 对应替换为你申请的AppID
API_KEY = 'sZGw4ynaOLIdXoijfI5IFbYX'  # 对应替换为你申请的API Key
SECRET_KEY = '98q8NEoKTWioZzv8Bey7HOEYgiYTDL8I' # 对应替换为你申请的Secret Key
user_id = '201*****' # 对应写入你自己的教务账号
user_password = '*****' # 对应写入你自己的教务密码

如果不想申请可以直接用我给的,但是一个接口每天使用次数有限制,建议自己申请并进行替换

该目录下运行 python main.py 或运行时指定 python main.py -id <your_user_id> -pw <your_user_password>'

启用mail.py的功能

config.py加入如下信息

mail_username = '****************' # email地址
mail_password = '****************' # email开启smtp服务后提供的登录授权码
mail_host = 'smtp.***.com'  # 对应的smtp服务器
user_email = '****************' # 通知到的email地址

然后更改evaluation的部分,对以下部分取消注释

from mail import send_mail
if email:
    send_mail(send_tos=[email], name="SSSimon Yang", subject=f"{user_id} 自动评价结果",
                text=message)

然后更改main.py的部分

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("-id", "--id", help="specify your user id")
    parser.add_argument("-pw", "--password", help="specify your user password")
    parser.add_argument("-e", "--email", help="specify your email address to send to")
    args = parser.parse_args()
    if args.id and args.password:
        process(args.id, args.password, args.email)
    else:
        process(config.user_id, config.user_password, config.user_email)

同样,执行 python main.pypython main.py -id <your_user_id> -pw <your_user_password> -e <your_email>'

批量化

编辑csv文件 对/personal_page/evaluation.py中的main.py进行相应更改

Wish you a good day!