我在下面有此代码。我想要做的是将我指定的每个搜索查询启动到浏览器窗口中,而不是像当前编写的那样列出搜索结果。但是我是一个初学者,很难找到有关此文档的文档。是否可以?
问题是我将要使用的search_criteria的实际列表实际上是40个字长,我需要在数十个城市中使用它-这就是为什么我要自动化搜索过程。
如果不可能通过浏览器窗口(或浏览器窗口中的更好的选项卡)启动每个查询,则有一种方法可以指定以某种系统方式生成的每个URL,以便Ruby从命令提示符处调用以作为浏览器启动窗口?
require "google-search"
search_criteria = ["makers", "makerspaces", "fablabs", "smartlabs"]
#City name
search_1 = search_criteria.map do |noun|
"#{noun} new york city"
end
#City acronym 1
search_2 = search_criteria.map do |noun|
"#{noun} new york"
end
#City acronym 2
search_3 = search_criteria.map do |noun|
"#{noun} nyc"
end
#Replace "search_1" for other acronyms
search_1.each do |query|
puts "Just one moment please! I am searching for #{query}"
Google::Search::Web.new do |search|
search.query = query
search.size = :large
end.each { |item| puts item.title }
end
search_criteria = ["makers", "makerspaces", "fablabs", "smartlabs"]
names = ["new+york+city", "new+york", "nyc"]
query_strings = names.map do |name|
"#{name}+#{search_criteria.join('+')}"
end
urls = query_strings.map do |q|
"google.com/search?q=" + q
end
cmd_line = urls.join(' ')
然后,您通过调用cmd_line
将其传递给Google Chrom可执行文件system()
。在Mac OS X上可能是这样的:
system("/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --url #{cmd_line}")
然后,Chrome会在新窗口的自己的标签中打开传递给它的字符串中的每个URL。如果您使用的是Windows,则必须找到chrome.exe可执行文件的埋藏位置,而在Linux中,您将找到chrome二进制文件进行调用。...的最后一部分之前的所有内容都Chrome --url #{cmd_line}")
只是可执行文件的路径,该文件埋在OS X上的“ Google Chrome.app”容器中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句