当前位置:嗨网首页>书籍在线阅读

01-表单交互

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

[toc]

第6章 表单交互

在前面几章中,我们下载的静态网页返回的是相同的内容。而在本章中,我们将与网页进行交互,根据用户输入返回对应的内容。本章将包含如下几个主题:

  • 发送 POST 请求提交表单;
  • 使用cookie和会话登录网站;
  • 使用Selenium用于表单提交。

想要和表单进行交互,就需要拥有可以登录网站的用户账号。现在我们需要手工注册账号,其网址为 http://example.python-scraping.com/user/register 。本章目前还无法实现自动化注册表单,不过在下一章中我们将会介绍处理验证码图像的方法,从而实现自动化表单注册。

  **表单方法** HTML定义了两种向服务器提交数据的方法,分别是 `GET` 和 `POST` 。使用 `GET` 方法时,会将类似 `?name1=value1&name2=value2` 的数据添加到URL中,这串数据被称为“查询字符串”。由于浏览器存在URL长度限制,因此这种方法只适用于少量数据的场景。另外,这种方法通常应当用于从服务器端获取数据,而不是修改数据,不过开发者有时会忽视这一规定。而在使用 `POST` 请求时,数据在请求体中发送,而不是在URL中。敏感数据只应使用 `POST` 请求进行发送,以避免将数据暴露在URL中。 `POST` 数据在请求体中如何表示需要依赖于所使用的编码类型。服务器端还支持其他HTTP方法,比如 `PUT` 和 `DELETE` 方法,不过这些方法在标准HTML表单中均不支持。