我应该使用 Yahoo-Pipes 来抓取 div 的内容吗?
给定:
网址 - http://www.contoso.com/search.php? q={param} 返回:
-html-
--正文-
{...}
---div id='foo'-
----div id='第1页'/-
----div id='第2页'/-
----div id='page3'/-
----div id='第N页'/-
---/div-
{...}
--/body-
-/html-
需要:
- div id='foo' 的innerHtml 必须由客户端获取(即Javascript)。
- 它将被分成离散的项目(即 div id='page1' 到 div id='pageN')。
- API 限制会阻止服务器端代码预取数据,因此解析和操作的负担必须放在客户端上。
问题:
- Yahoo-Pipes 能否帮助格式化数据以便于使用?
- 缺少 DOM 解析器让我犹豫不决。
- 是否有任何现有管道可以作为示例?
Given:
Url - http://www.contoso.com/search.php?q={param} returns:
-html-
--body-
{...}
---div id='foo'-
----div id='page1'/-
----div id='page2'/-
----div id='page3'/-
----div id='pageN'/-
---/div-
{...}
--/body-
-/html-
Wanted:
- The innerHtml of div id='foo' must be fetched by the client (i.e. Javascript).
- It will be split into discrete items (i.e. div id='page1' to div id='pageN').
- API Throttling prevents server-side code from pre-fetching the data, so the parsing and manipulation burden must be placed on the client.
Question:
- Could Yahoo-Pipes help format the data for easier consumption?
- The lack of a DOM parser gives me pause.
- Are there any existing pipes that could serve as an example?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 YQL 模块,它允许您获取任意 URL,然后使用 XPath 解析它们。 YQL 查询示例:
You can use the YQL module, which allows you to fetch arbitrary URLs and then parse them with XPath. A sample YQL query:
是的,用 Y 就可以实现! 管道。 您只需要“操作符部分”中的两个模块:
第一个“子元素”即可仅获取内容。
然后只需使用“Regex”模块提取 div 内容并通过 JSON 从您的站点获取它:
搜索:
^.*?
;.*?$
替换:
$1
Yes, it's doable with Y! Pipes. You only need two modules from the 'Operators section':
First "Sub Element" to get only the content.
Then just use the "Regex" module to extract the div content and get it through JSON from your site:
Search:
^.*?<div id="foo">(.*?)</div>.*?$
Replace:
$1