使用 Nokogiri 解析 HTML 并非所有标签都存在
Parsing HTML with Nokogiri not all tags are present
有这本字典:Russian dictionary
在 ruby 中,我正在尝试获取下一页的 url - “>>”,即
<a href="m.exe?a=110&sc=4&recno=3506774&dict=&l1=1&l2=2">>></a>
在浏览器中检查这个元素时,它在那里并且存在。但是,使用
link = "http://www.multitran.ru/c/m.exe?a=110&sc=4&recno=3506179&dict=&l1=1&l2=2"
page = Nokogiri::HTML(open(link))
puts "#{page}"
下一页的link未打印。所有 link 到字母表的字母都在那里,但是没有
<a href="m.exe?a=110&sc=4&recno=3506774&dict=&l1=1&l2=2">>></a>
这是否以某种方式动态生成并且 ruby 没有捕捉到它(?)
"next pages" 的 link 没有任何逻辑顺序,所以我不能递增 url 本身。
任何帮助都适用
你原来的猜测是对的。该页面仅包含特定用户代理的下一个 link。
试着假装成 Google Chrome 这样的:
page = Nokogiri::HTML(open(link, 'User-Agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'))
有这本字典:Russian dictionary
在 ruby 中,我正在尝试获取下一页的 url - “>>”,即
<a href="m.exe?a=110&sc=4&recno=3506774&dict=&l1=1&l2=2">>></a>
在浏览器中检查这个元素时,它在那里并且存在。但是,使用
link = "http://www.multitran.ru/c/m.exe?a=110&sc=4&recno=3506179&dict=&l1=1&l2=2"
page = Nokogiri::HTML(open(link))
puts "#{page}"
下一页的link未打印。所有 link 到字母表的字母都在那里,但是没有
<a href="m.exe?a=110&sc=4&recno=3506774&dict=&l1=1&l2=2">>></a>
这是否以某种方式动态生成并且 ruby 没有捕捉到它(?) "next pages" 的 link 没有任何逻辑顺序,所以我不能递增 url 本身。 任何帮助都适用
你原来的猜测是对的。该页面仅包含特定用户代理的下一个 link。
试着假装成 Google Chrome 这样的:
page = Nokogiri::HTML(open(link, 'User-Agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'))