[英]Nokogiri Ruby HTML Parser
我在用Nokogiri跨多個頁面抓取時遇到了問題。 我需要能夠首先根據合格的href縮小搜索范圍。 因此,這里是一個腳本,用於獲取我感興趣的所有href。 但是,我在解析文章標題時遇到了麻煩,因此無法鏈接到它們。 非常高興知道我可以手動檢查這些元素,以便獲得所需的鏈接,並且每當找到鏈接時,我都可以像中那樣獲取描述文章/參考的標題/文本。
<a href.......>Text Linked to</a>
這樣我便有了{:source =>“ .....”,:url =>“ .....”,:title =>“ .....”}的哈希。 這是我到目前為止的腳本。 它縮小了我對在哈希中進行設置感興趣的鏈接的范圍。
require 'nokogiri'
require 'open-uri'
page = "http://www.huffingtonpost.com/politics/"
doc = Nokogiri::HTML(open(page))
links = doc.css('a')
hrefs = links.map {|link| link.attribute('href').to_s}.uniq.sort.delete_if{|href| href.empty?}
hrefs.each do |h|
if h.reverse[0,9] != "stnemmoc#"
if (h.reverse[0,7] == "scitilo") & (h.length > 65)
puts h
end
end
end
如果有人可以提供幫助,也許可以解釋一下如何找到我想要的href,然后基於首先過濾掉href中的url來解析文本,那真是太好了。 還建議將這些Nokogiri腳本放入Controller中,然后在Rails中以這種方式發送到數據庫中嗎? 我很感激。
謝謝
我不確定我是否完全理解您的問題,但是我將其解釋為“如何提取鏈接並訪問其屬性?”
只需修改您的選擇器:
links = doc.css('a[href]')
這會給你所有的a
有一個元素href
。 然后,您可以遍歷這些屬性並訪問它們的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.