Python爬虫编程思想(155):使用Scrapy处理带隐藏文本框的登录页面

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(155):使用Scrapy处理带隐藏文本框的登录页面相关的知识,希望对你有一定的参考价值。

在上篇文章中实现的抓取登录页面的方式是最简单的一种形式,在这个例子中假设服务端程序除了要求输入用户名和密码,没有做任何限制。但在实际应用中,服务端程序可能会加各种其他的校验,例如,一种比较常见的校验方式是在服务端向客户端发送登录页面的同时,在登录页面的代码中插入一个隐藏的input组件,并且在input组件中写入一个字符串,这个字符串是通过随机或某些算法生成的。当然,除了服务端程序外,其他人并不知道这个包含在隐藏input组件中的字符串的规则,而且每次显示登录页面时,这个字符串都不一样。当客户端提交用户名和密码的同时,也会将这个字符串提交给服务端,服务端不仅仅要校验用户名和密码,还要校验这个字符串是否与服务端保存的字符串匹配,如果不匹配,即使用户名和密码都正确,仍然无法获得登录后的页面。

要抓取这样的页面,在模拟登录时不仅要向服务端发送用户名和密码,还要发送隐藏input组件中的字符串,那么这里有一个问题,爬虫怎么知道这个字符串是什么呢?其实很简单,爬虫只需要获取登录页面的内容,就可以获取这个隐藏input组件中的字符串。

本例会沿用上篇文章的部分代码,只是在登录页面中加了一个隐藏的input组件,用于保存服务端生成的字符串,服务端除了用户名和密码外,还需要校验这个字符串。为了让程序简

以上是关于Python爬虫编程思想(155):使用Scrapy处理带隐藏文本框的登录页面的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(155):使用Scrapy处理带隐藏文本框的登录页面

Python爬虫编程思想(148):在PyCharm中使用扩展工具运行Scrapy程序

Python爬虫编程思想(148):在PyCharm中使用扩展工具运行Scrapy程序

Python爬虫编程思想(148):在PyCharm中使用扩展工具运行Scrapy程序

Python3分布式爬虫(scrap+redis)基础知识和实战详解

Python爬虫编程思想(12):搭建代理与使用代理