代码之家  ›  专栏  ›  技术社区  ›  Abdel

我该如何做一个谷歌学者批量搜索,只得到返回的结果数?

  •  1
  • Abdel  · 技术社区  · 15 年前

    我在scholar.google.com(一个染色体区域的列表)中有一个很大的列表,我只想搜索每个搜索词的结果数。有人知道最好的方法是什么吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   jcubic    15 年前

    你可以用这个ruby脚本

    #!/usr/bin/ruby
    
    require 'net/http'
    require 'uri'
    def number_of_results(search_query)
        url = 'http://scholar.google.com/scholar'
        query = '?hl=en&btnG=Search&as_sdt=2001&as_sdtp=on&q='+search_query
    
        url = URI.parse(url)
        page = Net::HTTP.new(url.host).get(url.path + query).body
    
        if page =~ /of about <b>([0-9,]*)<\/b>\./
          return $1
        else
          return nil
        end
    
    number_of_results(ARGV.join(' '))
    

    从终端/控制台呼叫 search.rb search term

    如果你有一系列的术语

    ['foo','bar','baz','quux'].each {|term|
      puts number_of_results(term)
    }
    
    推荐文章