0

俳優の wiki ページを検索し、映画のリンクをすべて引き出すために使用されるこの方法を改善しようとしています。現時点では、nokogiri を使用してページを解析し、正規表現を使用してタイトルに「(映画)」という単語が含まれるすべてのリンクを取得していますが、それでも必要なリンクの大部分を見逃しています。より関連性の高いリンクを取得するための提案はありますか?

 def find_films_by_actor(doca, out = [])
        puts "Entering find_films_by_actor with #{find_name_title(doca)}."
        all_links = doca.search('//a[@href]')
        all_links.each do |link|
            link_info = link['href']
            if link_info.include?("(film)") && !(link_info.include?("Category:") || link_info.include?("php"))
                then out << link_info end
          end
        out.uniq.collect {|link| strip_out_name(link)}
    end
4

1 に答える 1

1

css を使用して必要なリンクにアクセスするのが最もクリーンだと思います。

links = doc.search 'a[title*="(film)"]'

ノードセットの計算を実行して、それらを絞り込むこともできます。

links -= doc.search 'a[title*=foo]'

(テキストから) 一意の名前を取得するには:

links.map(&:text).uniq
于 2012-11-09T03:50:58.420 に答える