希望这很容易。我正在尝试使用YQL从单词新闻博客的不同文章中拉出“标题”图像。每篇文章都有一个不同的“标题”图像,类名略有不同(没有id)。我需要的每个图像都共享一个基本的css类,“alignright”。如果我像下面那样进行查询,我什么也得不到。
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类获取图像?我无权在博客上更改任何内容(例如插入ID)。
答案 0 :(得分:1)
您可以使用XPath字符串函数,例如starts-with
:
//img[starts-with(@class, 'alignright')]
答案 1 :(得分:1)
使用XPath contains()字符串函数会很好。看起来您正在尝试从Wordpress站点获取图像,该站点将根据需要向项目添加类。不要担心它是否从CSS类开始,只是img在class属性中有CSS类。
//img[contains(@class,'alignright')]