2012-07-17 72 views
1

希望這很容易。我正在嘗試使用YQL將「標題」圖像從字詞新聞博客的不同文章中提取出來。每篇文章都有一個不同的「標題」圖片,其中的名稱略有不同(無標識)。我需要的每個圖像都共享一個基本的CSS類,「alignright」。如果我做了如下的查詢,我什麼也沒有返回。Xpath和YQL故障

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 =」看作是一個大字符串,而不是多個輸入。問題是這些圖像類在被視爲一個大字符串時沒有匹配。這是我試圖解決這種情況:

  1. 我已經看過YQL的'喜歡'參數。 (沒有運氣發現有用的東西)
  2. 試圖找到更好的方式與xpath(直到今天我從未使用過)。該搜索導致我here。到目前爲止,我仍然無法實現它的工作。
  3. 我試過使用:img [matches(@class,'\ balignright \ b')],但我不認爲YQL支持它。

有沒有人知道是否有辦法抓取圖像與該基地的CSS類?我無權修改博客上的任何內容(如插入ID)。

+0

請問你能給我你正在測試的網址嗎?我想在YQL控制檯上測試它。 – 2012-07-17 23:20:47

回答

1

使用XPath包含()字符串函數在這裏會很有用。它看起來像你試圖從一個Wordpress網站獲取圖像,根據需要將項目添加到項目中。不要擔心它是否從CSS類開始,只是img在類屬性中具有CSS類。

//img[contains(@class,'alignright')] 
1

您可以使用XPath字符串函數,例如starts-with

//img[starts-with(@class, 'alignright')] 
+0

功能鏈接是一個很好的領導。我結束了使用「包含」。感謝您的幫助 – CountMurphy 2012-07-18 16:04:29