有没有更好的方法来使用Nokogiri提取网页上的可见文本?目前我使用inner_text方法,但是该方法将大量JavaScript视为可见文本。我想要捕获的唯一文本是屏幕上的可见文本。例如,在IRB中,如果我在Ruby1.9.2-p290中执行以下操作:require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.bodybuilding.com/store/catalog/new-products.jsp?addFacet=REF_BRAND:BRAND_MET_RX"))words=doc.inner_
我有一个页面,内容与此类似:CrapidontcareaboutHereissometextiwantHereissomemoretextiwantOhiwantthistexttoo:)我的目标是捕获#level2中的文本但是#level3嵌套在其中与我想要的文本处于同一级别。是否有可能排除?我应该修改文档并在解析之前简单地删除元素吗? 最佳答案 require'nokogiri'xml=CrapidontcareaboutHereissometextiwantHereissomemoretextiwantOhiwantthist
我想知道如何使用Ruby抓取网站,目的是启动一个新的浏览器并加载目标页面。这是必需的,因为目标页面不是无状态的,并且需要一些session参数。有关示例流程,请参阅Kayak.com如何执行此操作。1.上Kayak.com,搜索Chicago的酒店,checkin1/21/2010,checkout1/22/20102.选择第一个结果,然后选择orbitz3.kayak带您到orbitz上的预订页面。为此,它必须建立一个session,因为orbitz没有指向其预订页面的永久链接。对如何使用Ruby执行此操作有任何想法吗? 最佳答案
我正在尝试使用rubyxpath和nokogiri获取写入HTML表中的“cell4”值,如下所示:Headingparagraph.Tworowsandthreecolumns:cell1cell2cell3cell4我有以下简单代码,但它带来了[]。这个问题一定很简单,但在谷歌上找不到任何合适的东西#!/usr/bin/ruby-wrequire'rubygems'require'nokogiri'page1=Nokogiri::HTML('test_simple.html')a=page1.xpath("//html/body/table/tr[2]/td[2]")paxpa
如何使用Nokogiri抓取特定URL上的图像?如果有比Nokogiri更好的选择,请提出建议。css图片标签为.profilePicimg 最佳答案 如果它只是一个有一个网址:PAGE="http://site.com/page.html"require'nokogiri'require'open-uri'html=Nokogiri.HTML(open(PAGE))src=html.at('.profilePicimg')['src']File.open("foo.png","wb")do|f|f.write(open(src).
我非常编程新手,我正在用Ruby1.9.3编写一个小练习程序,它使用Nokogiri查询带有邮政编码的加拿大议会网站,然后打印姓名相应的国session员及其乘车前往终点站。我的代码获取页面并很好地隔离MP的名称/骑行,但在shell中将UTF-8字符显示为纯ASCII。我希望显示UTF-8字符。我知道shell可以处理UTF-8,因为:irb>riding="St-Jérôme"=>"St-Jérôme"irb>putsridingSt-Jérôme=>nil我用来获取页面的代码:page=Nokogiri::HTML(open("http://parl.gc.ca/ParlInfo
我刚开始使用nokogiri从网站上抓取信息,但不知道如何完成以下工作。我有一些要抓取的HTML代码:CompatibleVehiclesType1AllType2AllType3AllType4AllType5All我已经设法在我的屏幕上得到了我想要的输出:i=0doc.css('div>.compatible_vehicles>ul>li').eachdo|item|label=item.at_css(".label").textdata=item.at_css(".data").textprint"#{label}-#{data}"+','endi+=1这给了我一个这样的列表:T
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。抓取(筛选)受密码保护的网站的最佳gem是什么?
sometextINEEDTHISTEXTONLYsometextmoretextheresometextonemoretextheresometext如何? 最佳答案 使用:/*/div[1]/following-sibling::text()[1]这会选择文档顶部元素的第一个div子元素的第一个文本节点兄弟。 关于ruby-在nokogiri的两个元素之间抓取文本?,我们在StackOverflow上找到一个类似的问题: https://stackover
我正在编写一个非常依赖屏幕抓取的网站。因为我知道屏幕抓取很容易被破坏,所以我希望以某种方式得到通知,指出存在问题。我认为可行的解决方案是为我想要支持的每个站点编写一个rspec测试。该测试将从每个站点打开一些远程页面,并将它们与我期望从我的爬虫中获得的输出进行比较。我还想在本地缓存的副本上运行相同的测试,这样我就知道我的代码更改是否破坏了抓取工具或者远程站点是否发生了更改。我想以某种方式每天运行一次这些测试,并在出现任何问题时通知我。最终我想把它变成一颗gem,因为它对我来说是一个反复出现的问题。我倾向于进行大量的数据抓取,如果能知道什么时候出现问题就好了。所以我的问题是我对为我的代码