模拟登录的原理
通常情况下,用户通过浏览器登录网站时,在特定的登录界面,输入个人登录信息,提交之后便能返回一个包含数据的网页。在浏览器层面的机制是,浏览器提交包含必要信息的http Request,服务器返回http Response。其中HTTP Request内容包括下面5项:
URL=基本的URL+可选的查询字符串
Request Headers:必须或可选
Cookie:可选
Post data:当时POST方法时需要
http Response的内容包括以下两项: Html源码或者图片,json字符串等
Cookies:后续的访问中如果需要cookie,返回内容中则会包含cookie
其中URL是统一资源定位符的简称,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,包括主机部分、文件路径部分;Request Headers是向服务请求信息的头信息,包含编码格式、用户代理、提交主机和路径等信息;Post data是指提交的用户、内容、格式参数等。Cookies是服务器发送给浏览器的、保存在本地的、服务器用来识别用户的文件,以及用来判断用户是否合法以及一些登录信息。
网页抓取的原理
如上所述,模拟登录之后,网站服务器会返回html文件,html是带有标签的有较为严格语法和格式的文本文件,不同的标签之间有不同的内容,可根据相关标签以及数据特征,利用正则表达式抓取需要的数据或者代表数据的可进一步挖掘的链接。
模拟登录的实现过程
1、获取所需要的参数 IE浏览器为开发者提供了强大的工具,获取参数的流程为:
打开浏览器
输入网址
开发人员工具
网络启用
网络流量捕获
输入密码和账号登录
找到第一条发起程序为“单击”的记录
详细信息
“请求标头”和“请求正文”
请求标头和请求正文中包含着客户端和浏览器进行交互的参数。其中的一些参数是默认的,不需要设置;有些参数是和用户本身相关的,如用户名、密码、是否记住密码等;
有些参数是客户端和服务器交互产生的。确定参数的步骤是,首先,从字面意思理解,其次在交互记录中搜索参数名,观察参