3

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

 1 year ago
source link: https://blog.csdn.net/nokiaguy/article/details/126334758
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

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

文章知识点与官方知识档案匹配,可进一步学习相关知识

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK