【问题标题】:Alternatives to my slow method of using BeautifulSoup and Python to parse Amazon API XML?我使用 BeautifulSoup 和 Python 解析 Amazon API XML 的慢速方法的替代方案?
【发布时间】:2010-07-06 11:25:05
【问题描述】:

正如标题所说,我使用 Python 中的 BS 模块来解析我从 Amazon API 访问的 XML 页面(我创建签名的 url,用 liburl2 加载它,然后用 BS 解析)。

做两页大约需要4秒,但必须有更快的方法

PHP 会更快吗?是什么让它变慢了,是 BS 解析还是 liburl 加载?

【问题讨论】:

  • 你为什么不告诉我们是什么让它变慢了?我敢打赌这不是汤。 There is a number of XML processing modules in the standard lib,我不明白你为什么需要在这里获得学士学位。
  • 我不知道是什么让它变慢了,这就是我问的原因。是 liburl 吗?
  • 所以,配置它!我们在这里不是千里眼。
  • 抱歉,Ghost,在 Jason 建议之前我不知道 cProfile。

标签: python xml parsing beautifulsoup


【解决方案1】:

如果您想找出导致它变慢的原因,请使用the profilers 之一。我怀疑是网络访问(及其底层数据库检索)比其他的慢。

【讨论】:

  • 谢谢,杰森,这很方便!我猜“总时间”是我正在寻找的,我注意到了这一点:1488 13.265 0.009 13.265 0.009 {method 'recv' of '_socket.socket' objects} 在 13.265 秒我敢打赌这是罪魁祸首。请问一下是什么意思?
  • @Mike,recv = 接收。通常是对套接字的阻塞调用。这意味着它只是在等待亚马逊响应或等待所有数据到达(取决于有多少数据和多少可用带宽)。
  • @wds 谢谢!所以我想我对速度真的没有选择?
  • @Mike: 不是真的,积极缓存
  • @Mike 你可以并行检索多个页面。
猜你喜欢
  • 2014-09-10
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
相关资源
最近更新 更多