如何创建一个应用程序来登录另一个没有 API 的网站

问题描述 投票:0回答:1

我需要创建一个应用程序,它使用我的凭据登录到一个网站(用户名/密码),但该网站没有 API 或身份验证协议(自 1998 年以来就没有更新过,但我不断需要其中的数据)。

有办法做到这一点吗?最好使用 Python,但可以使用任何语言或工具。

我一直在 Google 上搜索,但大多数人都有 API 可以使用。

python authentication web-scraping automation
1个回答
0
投票

如评论中所述,您可以使用 Python Selenium 绑定来相当轻松地进行此设置。

另一个选择是 Mechanize 系列工具(Python 是 http://wwwsearch.sourceforge.net/mechanize/

如果您想要一个重量级较小的解决方案(不需要像 Selenium 或任何第三方包这样的大型 Web 浏览器实例),您很可能可以使用curl 命令行客户端对应用程序进行身份验证并发送您的请求,然后将curl 命令放入shell 或Python 脚本中。

您可以使用 Chrome 开发工具开始开发curl 解决方案:

  • 打开开发工具,打开“网络”选项卡
  • 选择“保留日志”复选框
  • 在浏览器中手动导航到您的网络应用程序并登录
  • 执行您想要自动化的任何其他操作
  • 您现在应该在“网络”选项卡中看到一个请求列表
  • 扫描请求并确定哪些是重要的(例如,可以忽略图像的 GET)
  • 对于要包含在脚本中的每个请求,右键单击该项目,然后单击“复制为 cURL”选项,以获取与剪贴板中的请求等效的curl。
  • Chrome 放置在剪贴板中的字符串将非常冗长;如果您想清理它,您可能可以删除一些位并且仍然有一个工作请求。
  • 根据需要参数化请求,您应该开始为您的任务编写一个工作 shell 脚本。
© www.soinside.com 2019 - 2024. All rights reserved.