我想在Django中创建一个网站,用户可以在其他网站上进行身份验证,因此我的Django网站可以从这些网站获取一些信息。
例如,如果我有关于Ebay联盟计划的帐户,我会访问我的Django网站,接下来我将从我的Django网站访问我在Ebay上的帐户,最后,Django将从我的易趣中提取我需要的信息帐户。可能吗?如果没有,你能提出一些解决方案吗?
此外,有没有办法存储登录详细信息以便以后使用而无需每次都重新输入?
答案 0 :(得分:2)
关于登录凭据,您可以使用具有大量外部登录选项的django-allauth
,包括获取数据的功能..
我不确定他们有ebay,但是 - 大多数网站都有一个API,您可以使用它来获取凭据并获取用户的数据。 Ebay就是其中之一。
更进一步 - 许多API都有一个开源实现,可以帮助您更快地实现您想要的目标。
例如,Google中的快速搜索找到了django-ebay
包。我不使用它,所以我不知道它的质量和容易程度,但你明白了。
我在评论中看到您想知道如何处理没有API的网站 - 在这种情况下您将不得不使用报废 - 这意味着您以某种方式模仿用户(使用自动化) “服务器冒充,例如mechanize”并阅读数据 - 但这通常是非法和/或违反使用条款,对于很多网站,所以请确保您首先允许这样做。
不幸的是,除此之外,您无能为力。
答案 1 :(得分:1)
如果网站提供API,请使用
如果网站没有提供API,请联系网站作者,提供您的用例,并请他们为您编程API。
然而,在您的情况下,您正在做一些网站所有者不想与之合作的事情。然后有一些方法以编程方式访问该网站
Selenium browser based automation(在服务器端运行完整的网络浏览器)
大多数大牌网站都会受到机器人流量的攻击,所以这肯定是让自己被禁止的方法。