python的第三方库Requests是一个简单而且实用的网络爬虫库,今天,我将为大家演示如何通过requests爬虫实现模拟登录中国海洋大学教务处网站。
程序流程:
1、引入需要的外部库。
import requests
import base64
import re
import time
import hashlib
import os
2、分析网页源代码和所提交的表单。
通过谷歌浏览器查看登录过程中提交的表单:
可以看出,教务处网站提交的表单里包含七个项目。下面,去源代码中寻找它们。当你在查找的时候,你可能会发现,当自己右键时,并无选项弹出,在这种情况下,可以打开谷歌开发者工具,点击Source,你就可以找到网站的源文件了。
在主页的源代码中:使用Ctrl+F寻找,输入form,可以查询到与表单相关的代码。我们发现:表单提交的内容基本已经被包含在内,我们记住这些标签的id和name属性值,在其他文件或者位置,查看js的处理方式。
在主页的源代码中,我们发现通过script标签定义的js语句,里面调用了我们记住的id,可以发现,这就是我们表单需要的 txt_mm_userzh、txt_mm_length和txt_mm_expression的来源。
当我们看完整个主页,发现并没有其他的表单数据,这时候,我们需要查看主页源代码中引入的js文件。如果你有一定的基础知识,你可以很容易的知道jquery.js、md5.js、base64.js是JavaScript的插件,不用去管。下面我们一个个查看其他的js文件代码。
当你看到LoginExt.js?version=2017112101这个文件的时候: