【发布时间】:2012-12-11 06:39:43
【问题描述】:
我正在尝试从使用 JavaScript 的页面中抓取 URL。他们没有在页面上提供链接,而是为许多表格行创建了onClick 事件,因此,当您单击该行时,它会将您带到链接。
我尝试使用 Mechanize 抓取 URL:
agent = Mechanize.new
page = agent.get(url)
page.links_with(:href => /^http?/).each do |link|
puts link.href
end
但是,通过 HREF 参考查找链接在这里不起作用,因为它们作为 onClick 事件的一部分出现在页面上:
<tr onclick="window.open('/someurl');">
有没有使用 Mechanize 或其他一些 gem 来解析页面上的代码并提取嵌入在 onClick 事件中的 URL 的好方法?
如果没有好的开箱即用解决方案,那么最好的正则表达式是什么?我对正则表达式有点陌生,所以还不能自己拼凑一些东西。
【问题讨论】:
-
所有链接的格式都一样吗?
-
如果可能的话,也可以将 URL 添加到您正在抓取的页面,以便人们查看源代码。帮助您更快地获得答案。
标签: javascript ruby screen-scraping web-scraping mechanize