【问题标题】:Get the HTML in a class from an External URL从外部 URL 获取类中的 HTML
【发布时间】:2012-11-24 04:19:36
【问题描述】:

我正在编写一个程序,它可以打印出来自 Flipkart.com 的书籍价格 我现在遇到的障碍是我无法访问搜索页面的 DOM。 搜索页面的示例在这里 http://m.flipkart.com/m/search-books?query=Predictably+irrational

价格范围与class = "sp"

请帮助我使用 Javascript/jQuery 访问这些类(如 Rs.197)中的字符串。

我还阅读了很多关于同源政策的信息。如果您能详细解释一项工作,我将不胜感激。谢谢!

【问题讨论】:

  • 使用 php 获取该页面的 html,然后用 php 解析它并通过 ajax 以JSON 格式将您找到的内容返回给客户端
  • 你想通过Javascript来做吗?我想使用服务器端编码会更容易和更有效。
  • 如果您打算在未经他人许可的情况下抓取并重新发布他人的内容,您可能应该重新考虑。这不好。甚至可能是非法的。如果您为 Flipkart 工作,或者获得了他们的许可,那么您应该这样说。
  • 您尝试在 iframe 中解析的页面还是您生成的实际页面?
  • 那么你们推荐我用php来做这个操作吗?而且我绝对不认为为了宣传他们的产品而抓取他们的数据是违法的。我已经阅读了他们的使用条款,并且我很确定我在白色区域。

标签: javascript jquery html dom web-scraping


【解决方案1】:

使用 javascript 向您管理的执行抓取的 API 发送 ajax 请求。如果您了解 Python,最快的方法可能是使用 Flask/BeautifulSoup,但如果您更喜欢使用 javascript,您可以使用 Node.js。

我不相信您可以在不使用 iframe 的情况下以 Javascript 加载外国网站,而您无法使用 javascript 访问它。 (这是不正确的:见编辑)

如 cmets 中所述,请确保网站所有者同意您所做的事情(问他们也无妨)。

编辑:

我的立场是正确的。您可以使用http://corsproxy.com 从(仅限无身份验证)网站访问数据。示例:http://pastebin.com/5gfmtcPs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2011-07-14
    • 1970-01-01
    • 2011-03-03
    • 2014-06-08
    • 2017-05-22
    • 1970-01-01
    相关资源
    最近更新 更多