希望这件事足够简单。我试图使用YQL从不同的文字新闻博客的文章中提取“标题”图片。每一篇文章都有一个不同的“标题”图像,类名略有不同(没有id)。每个图像我需要共享一个基本的css类,“对齐”。如果我执行下面这样的查询,则不会得到任何返回。
select * from html where url="urlofblog.com/" and xpath="//img[@class='alignright']"
但是,如果我将查询更改为将类与特定映像完全匹配
select * from html where url="urlofblog.com/" and xpath="//img[@class='alignright size-full wp-image-3051']"
我把问题的图像拿回来了。看起来,YQL将"img[@class=“看作一个大字符串,而不是多个输入。问题是,当这些图像类被视为一个大字符串时,它们都不匹配。以下是我试图解决的问题:
有没有人知道是否有一种方法来抓取该基本css类的图像?我没有权限更改博客上的任何内容(比如插入I)。
发布于 2012-07-18 18:19:33
在这里使用XPath contains()字符串函数是一个好方法。看起来,您正在尝试从Wordpress站点获取图像,该站点将根据需要向项目添加类。不要担心它是否从CSS类开始,仅仅是因为img在class属性中有CSS类。
//img[contains(@class,'alignright')]
发布于 2012-07-17 23:04:18
您可以使用XPath字符串函数,例如starts-with
//img[starts-with(@class, 'alignright')]
https://stackoverflow.com/questions/11531478
复制相似问题