【发布时间】:2012-11-19 20:16:12
【问题描述】:
我正在尝试执行一些图像抓取工具,它使用户能够使用 xpath 处理给定页面中包含的所有图像,处理抓取的图像以查找哪些具有 alt 标签,哪些没有,并将结果作为两个返回分离 json 对象
即{alted:["",""],nonAlted:["",""]}
现在我的问题来了,虽然我能够抓取页面并检索所有图像并将它们分成 alted 和 nonAlted 类别,但我不能将它们放在响应对象中!
我认为为了进一步澄清我的问题,最好添加一些代码,所以以下代码是我在 YQL 表的执行块中使用的代码:
query = "select * from html where url='http://www.example.com/page-path' and xpath='//li'";
var result = y.query(query);
y.log(result.results..img.(@alt));
var querieselement = <urls/>;
querieselement.query = result.results..img.(@alt);
response.object = querieselement;
所以我的问题是如何设置响应对象以包含已处理的图像列表,请注意,运行查询后,尽管日志显示列表,但结果未显示任何数据,希望有人能指出我导致该问题的原因。
P.S. 我在标题中提到“资源使用”的原因是因为我知道能够对每个图像类别执行单独调用,这意味着我会两次抓取同一页面想想有点低效。
P.S.如果有人能帮助我理解这两行的含义,我也会很高兴
querieselement = <urls/>;
querieselement.query = result.results..img.(@alt);
为什么是“
谢谢。
【问题讨论】:
标签: javascript xpath web-scraping yql e4x