【问题标题】:To build an App for an Internet site without its API and Schema为没有 API 和 Schema 的 Internet 站点构建应用程序
【发布时间】:2009-07-17 02:36:20
【问题描述】:

我被要求为类似 Ebay 的芬兰拍卖网站 huuto.net 构建一个控制系统。 该系统将根据特定规则重新开放封闭式拍卖。它将完全在主站点之外,在外部网站上运行。

但是,该站点不愿意发布其 API 和 Schema。如果不知道它的 API,我就无法构建这样的系统。

如何在没有 API 和架构的情况下构建互联网站点?

【问题讨论】:

  • huuto 如何期望您在不访问他们数据的情况下为他们制作控制应用程序?
  • @Matt:Huuto 不希望我做一个控制应用,但它的用户会做。

标签: api schema


【解决方案1】:

您可以尝试某种形式的自动浏览:mechanize

编辑: Examples这里。

【讨论】:

  • 是机械化一个浏览器,它可以像 Firefox 一样加载网页到 temp,然后将所需的更改应用于网页
  • @Masi:Mechanize 允许您的程序像普通浏览器一样运行,填写表单、单击链接、存储 cookie。对于网站来说,它看起来就像另一个用户在点击,而实际上它是您的脚本执行重新开始拍卖的繁琐任务:)
【解决方案2】:

我认为您是在询问构建一个无需使用明确定义的 API 即可与另一个站点交互的站点。对吗?

您可以在不使用官方 API 的情况下与外部网站交互 - 为此,您需要模仿普通的网站访问者并将您的请求发送到网站前端(与网络爬虫的方式非常相似) . hpricot、mechanize 和 curl 等工具可以帮助您解析页面内容并发送请求,但这样做您的系统可能非常脆弱。对目标站点的任何更改都可能意味着您必须重写系统的某些部分。

【讨论】:

  • @Matt:感谢您指出程序! --- 我喜欢 Python。我也可以使用 Beautiful Soup 和 Defaultdict 来解决这个问题。 ---你的最后一点很好。我不想构建一个不断被破坏的解决方案。因此,我正在努力寻找能够让我快速更新的工具。
【解决方案3】:

可能通过屏幕抓取网站来获取您需要的数据。您可以通过将数据 POST 到表单中或使用 WebClient 类型的 API 来执行您想要执行的操作,以使您的程序像 Web 浏览器一样运行,但这可能是一个非常脆弱的解决方案。

老实说,没有 API,确实没有好的解决方案。

【讨论】:

    【解决方案4】:

    您要么需要访问数据库,要么需要访问 API,否则尝试毫无意义。

    【讨论】:

      猜你喜欢
      • 2010-12-24
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-28
      • 2012-03-16
      • 2021-08-17
      • 2017-12-07
      相关资源
      最近更新 更多