2

Mechanize を使用して、ページからいくつかのタグをスケープしようとしています。以前は Nokogiri を使用してそれらをスクレイピングすることに成功しましたが、現在はそれらをより広い Mechanize クラスに結合しようとしています。ノコギリの声明は次のとおりです。

page = Nokogiri::HTML(open(@model.url, "User-Agent" => request.env['HTTP_USER_AGENT']))
@model.icons = page.css("link[rel='apple-touch-icon']").to_s

そして、これがMechanizeと同等だと思ったものですが、機能していません:

agent = Mechanize.new
page = agent.get(@model.url, "User-Agent" => request.env['HTTP_USER_AGENT'])
@model.icons = page.search("link[rel='apple-touch-icon']").to_s

1 つ目は期待どおりにリンク タグを返します<link rel="apple-touch-icon" etc etc..></link>。2 番目のステートメントは、空白の文字列を返します。端をto_s外すと、非常に長い出力が得られます。エラーか、実際の Mechanize オブジェクトか何かだと思います。

文字列に変換しない場合の長い出力へのリンク: https://gist.github.com/eadam/5583541

4

1 に答える 1