我试图使用mechanize从元素(.jobtitle a)中提取链接。我试着在下面的链接变量中这样做。谁知道怎么做?
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://id.indeed.com/')
indeed_form = page.form('jobsearch')
indeed_form.q = ''
indeed_form.l = 'Indonesia'
page = agent.submit(indeed_form)
page.search(".row , .jobtitle a").each do |job|
job_title = job.search(".jobtitle a").map(&:text).map(&:strip)
company = job.search(".company span").map(&:text).map(&:strip)
date = job.search(".date").map(&:text).map(&:strip)
location = job.search(".location span").map(&:text).map(&:strip)
summary = job.search(".summary").map(&:text).map(&:strip)
link = job.search(".jobtitle a").map(&:text).map(&:strip)
end
答案 0 :(得分:0)
我认为你不能用css路径选择属性。
从机械化文档:
搜索()
使用Nokogiri的搜索在页面中搜索路径。路径可以是XPath或CSS,并且可以附加可选的Hash of名称空间。
有关详细信息,请参阅Nokogiri :: XML :: Node#search。
您应该检查XPath。参见例如:
http://www.w3schools.com/xpath/
您可能需要重写遍历页面的方式。