Python 在Django中引发事件和对象持久性
我有一个棘手的Django问题,我在开发它时没有想到。我的Django应用程序允许用户注册并存储其站点的登录凭据。Django应用程序基本上允许用户搜索另一个站点(通过从中删除内容),并将结果返回给用户。对于每个查询,它都会对其他站点执行两个查询。这似乎很好,但有时,另一个网站会给我一个验证码。我已经编写了获取验证码图像的代码,我需要将其返回给用户,以便用户可以输入,但我不知道如何输入 Django应用程序中的搜索请求(查询、用户名和密码)被传递到一个视图,该视图反过来调用执行抓取/搜索的后端。当检测到验证码时,我希望在这些行上引发客户端事件或其他事件,并向用户显示验证码,然后等待用户的输入,以便我可以继续搜索。我需要在调用之间保留后端对象。我尝试过对其进行pickle处理,但不起作用,因为我得到了Python 在Django中引发事件和对象持久性,python,django,Python,Django,我有一个棘手的Django问题,我在开发它时没有想到。我的Django应用程序允许用户注册并存储其站点的登录凭据。Django应用程序基本上允许用户搜索另一个站点(通过从中删除内容),并将结果返回给用户。对于每个查询,它都会对其他站点执行两个查询。这似乎很好,但有时,另一个网站会给我一个验证码。我已经编写了获取验证码图像的代码,我需要将其返回给用户,以便用户可以输入,但我不知道如何输入 Django应用程序中的搜索请求(查询、用户名和密码)被传递到一个视图,该视图反过来调用执行抓取/搜索的后端。
无法对“lock”对象进行pickle处理的错误。但我不知道该怎么做。有什么帮助/想法吗
非常感谢。还有一点需要记住:您需要与远程站点保持浏览器会话,以便该站点知道您要解决的验证码。许多网络客户端允许您存储cookie,我建议您在为其进行屏幕抓取的用户的Django会话中转储cookie。然后在您提交验证码时将其重新加载
以下是我如何看待事件的全面转变:
用户位置搜索请求
查询远程站点
如果没有验证码,GOTO#10
在本地会话中保存远程cookie
下载图像验证码(可能也下载到会话?)
向用户提供验证码和表单
用户提交验证码
您从#4加载Cookie并以POST形式提交表单
GOTO#3
处理页面外的数据,呈现给用户,自己击掌
request.session['name']=variable
将存储它
那么
variable=request.session['name']
将检索它。
请记住,它不是一个数据库,只是一个简单的会话存储,不应该依赖于任何关键的内容您是否考虑过询问其他网站是否可以删除其内容?他们甚至检测到报废,并试图通过验证码来缓解。也许,如果你有很好的理由来解释为什么你需要这些数据,他们会给你这些数据,而不必费劲地把它们扔掉。嗨,奥利,你能给我指一个链接,解释如何在会话中存储和检索数据吗?这说明了如何将cookielib与urllib2一起使用——不过它们会将其存储到文件中。如果一次只有一个用户在进行此操作,这很好,但我建议您在会话中放弃它,这样您就可以同时有尽可能多的用户在进行此操作。课程很简单: