【问题标题】:Scraping - How to get a value of a dynamically generated content?抓取 - 如何获取动态生成的内容的值?
【发布时间】:2018-06-21 05:51:56
【问题描述】:

我正在使用 Firefox firebug tool 检查网站。这是为了抓取。我想获取动态生成的内容的值。

我了解该网站的运作方式,但我被困在一个特定的(最终)点。需要这里有经验的人的帮助。

最终目的是获取产品的链接:-

Step1) 它使用其 API 搜索产品(在搜索栏中)。这个API的输入是product name,响应是HTML内容形式的搜索结果,最后在页面上显示结果。

Step2) 为获取所选产品的链接,网站使用上述产品的uniqueID 访问另一个API,响应(链接)的格式为http://example.com/uniqueId/?link_id={{link_id}}

上述响应与正确的link_id 一起显示在文本框中,而不是{{link_id}}

在检查(使用萤火虫)文本框时,里面的内容是http://example.com/uniqueId/?link_id={{link_id}}。但是,在前端看到时,会显示http://example.com/uniqueId/?link_id=123bad3

不确定,但我觉得,这类似于 Jinja 模板语言,其中 {{link_id}} 是一个上下文变量并且是服务器填充的。

如何提取link_id

【问题讨论】:

  • 您使用哪些技术(语言和框架)来抓取网站?
  • Python。美丽的汤。
  • 美汤我不太熟悉,但是你确定它可以抓取动态生成的内容吗?您可以尝试使用 Selenium 或 Splash 或 Chrome 的无头浏览器之类的东西吗?
  • 我不依赖技术。但是,我只想要这背后的逻辑。如何提取link_id

标签: web-crawler screen-scraping


【解决方案1】:

据我了解,您将不得不使用某种“网络驱动程序”技术来跟踪链接,以便检索uniqueID,以便您可以自行以编程方式重建链接。我不相信有任何办法解决这个问题。

【讨论】:

  • 我误解你的问题了吗?
  • 让我试试 Selenium(Python),我会在 EOD 之前回来。与此同时,我也愿意接受其他建议。
  • @PythonEnhusiast EOD?您使用的是 Python 3 还是 Python 2,或者这是否重要?
  • EOD = 一天结束。我正在使用 Python3。不,应该没关系。因为,我精通 Python,因此使用相同的。
  • @PythonEnthusiast 我可能在床上,但我可能会在不迟于 24 小时内回来查看。 GL!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 2015-05-09
  • 1970-01-01
  • 2023-03-13
  • 2018-11-13
相关资源
最近更新 更多