我有一个棘手的Django问题,当我开发它的时候,我没有想到它。我的Django应用程序允许用户注册并存储站点的登录凭据。Django应用程序基本上允许用户搜索另一个站点(通过抓取站点上的内容),并将结果返回给用户。对于每个查询,它都会对另一个站点执行几个查询。这似乎工作得很好,但有时,另一个网站会给我一个验证码。我已经编写了获取CAPTCHA图像的代码,我需要将它返回给用户,以便他可以输入它,但我不知道如何操作。
我在Django应用程序中的搜索请求(查询、用户名和密码)被传递给一个视图,该视图反过来调用执行抓取/搜索的后端。当检测到CAPTCHA时,我想在这些行上引发一个客户端事件或其他东西,并向用户显示CAPTCHA,并等待用户的输入,以便我可以继续搜索。我需要在两次调用之间持久化我的后端对象。我尝试过对它进行酸洗,但它不起作用,因为我得到了Can't pickle 'lock' object
错误。不过,我不知道如何实现它。有什么帮助/想法吗?
非常感谢。
发布于 2010-06-13 16:20:03
另外需要记住的是:您需要维护与远程站点的浏览器会话,以便该站点知道您正在尝试解决哪个验证码问题。很多‘re客户端允许你存储你的cookie,我建议你将它们转储到你正在为其进行屏幕抓取的用户的Django会话中。然后在提交验证码时重新加载它们。
以下是我如何看待事件的完整转折:
验证码用户将search request
并以验证码形式提交表单)如果不是验证码,则将远程cookie提交给本地验证码验证码用户。您从#4加载验证码并以验证码的形式提交表单页面外的数据,向用户击掌。H222<代码>G223
发布于 2011-07-14 15:42:07
然后request.session['name'] = variable
会把它存储起来,
variable = request.session['name']
将检索它。但请记住,它不是一个数据库,只是一个简单的会话存储,不应该依赖于任何关键的东西
https://stackoverflow.com/questions/3031483
复制相似问题