使用Ruby刮擦ASP.NET站点
发布时间:2020-12-17 02:51:02 所属栏目:百科 来源:网络整理
导读:我想使用 Ruby来抓取这个ASP.NET站点的搜索结果,最好只使用Hpricot(我无法打开Firefox的实例): http://www.ngosinfo.gov.pk/SearchResults.aspx?name=foa=0 但是,我无法弄清楚如何浏览每一页结果.基本上,我需要模拟点击这些链接: a href="javascript:__doP
我想使用
Ruby来抓取这个ASP.NET站点的搜索结果,最好只使用Hpricot(我无法打开Firefox的实例):
http://www.ngosinfo.gov.pk/SearchResults.aspx?name=&foa=0
但是,我无法弄清楚如何浏览每一页结果.基本上,我需要模拟点击这些链接: <a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$Pager1$2','')" class="blue_11" id="ctl00_ContentPlaceHolder1_Pager1">2</a> <a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$Pager1$3','')" class="blue_11" id="ctl00_ContentPlaceHolder1_Pager1">3</a> 等等 我尝试使用Net :: HTTP来处理帖子,但是虽然收到了正确的HTML,但没有搜索结果(我可能没有正确地做到这一点).此外,页面的URL不包含任何指示页面的参数,因此无法以此方式强制执行结果. 任何帮助将不胜感激. 解决方法
使用mechanize-1.0.0可以实现以下工作:
agent = Mechanize.new page = agent.get('http://127.0.0.1/some.aspx') form = page.form("aspnetForm") form.add_field!('__EVENTARGUMENT','Page$2') form.add_field!('__EVENTTARGET','ctl00$ContentPlaceHolder1$gvwSomeList') page = agent.submit(form) # this gets page 2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |