Tag: scraping nokogiri

Ruby中的图像抓取

如何使用Nokogiri刮取特定URL上的图像? 如果有比Nokogiri更好的选择,请建议。 css图像标记是.profilePic img

Ruby on Rails XPath Json刮痧图像

我正试图从网站上抓取图片。 到目前为止,我正在使用Nokogiri和XPath,但收效甚微。 对于HTML有img和src的典型网站,我可以使用: tmp2 = Nokogiri::HTML(open(site_url)) tmp2.xpath(“//img/@src”).each do |src| …do whatever end 但是,像亚马逊和eBay这样的网站只能用javascript触发某些图像。 如果我查看代码,我可以在数组中看到数据。 例如,来自亚马逊(来源: http : //www.amazon.com/Threads-Thought-Womens-Dreams-X-Small/dp/B00T46V758/ref=sr_1_5? s=apparel&ie=UTF8&qid=1433555447&sr= 1-5 ) : P.when(‘jQuery’, ‘cf’).execute(function($, cf){ P.load.js(‘http://z-ecx.images-amazon.com/images/G/01/browser-scripts/imageBlock-udp-airy/imageBlock-udp-airy-4060168860._V1_.js’); }); P.when(‘A’, ‘jQuery’, ‘ImageBlockATF’, ‘cf’).register(‘ImageBlockBTF’, function(A, $, imageBlockATF, cf){ var data = {“indexToColor”:[],”burjImageBlock”:0,”isSwatchHoverConsistent”:1,”heroFocalPoint”:null,”visualDimensions”:[“color_name”],”productGroupID”:”apparel_display_on_website”,”newVideoMissing”:0,”useIV”:0,”useClickZoom”:null,”useChildVideos”:0,”numColors”:7,”logMetrics”:0,”defaultColor”:”initial”,”airyConfig”:{“enableContinuousPlay”:null,”installFlashButtonText”:”Install Flash Player”,”contentTitle”:null,”autoplayCutOffTimeSeconds”:null,”ageGate”:{“monthNames”:[“January”,”February”,”March”,”April”,”May”,”June”,”July”,”August”,”September”,”October”,”November”,”December”],”deniedPrompt”:”We’re sorry. You are not old enough to watch this video.”,”submitText”:”Submit”,”prompt”:”This video is not intended […]

我需要从Facebook游戏中抓取数据 – 使用ruby

修订(澄清问题) 我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息; 然而,我在砖墙后遇到了砖墙。 尽我所知,主要问题如下。 我可以使用Chrome的inspect元素工具手动查找我需要的html – 它显示在iframe中。 但是,当我尝试刮取iframe时,它是空的(属性除外): 如果我使用浏览器“查看页面源”工具,这与我看到的输出相同。 我不明白为什么我看不到iframe中的数据。 答案并非后来由AJAX添加。 (我知道这两者都是因为“查看页面源代码”可以读取由Ajax添加的数据,也因为我已经等待,直到我可以在抓取之前看到数据页面并且它仍然不在那里之后。 这是因为facebook的反屏幕抓取而发生的,如果是这样的话还有办法吗? 或者我只是遗漏了一些东西。 我用ruby编程,我尝试了nokogiri,然后机械化,然后水豚没有成功。 我不知道它是否有任何区别,但在我看来,iframe使用iframe的“game_frame”引用来获取它的数据,该引用显然是指文档中较早出现的这段html: … 原始问题 我写了一个ruby程序,它使用nokogiri从Facebook游戏的HTML中抓取数据。 目前,我使用chrome的“检查元素”工具获取HTML,然后将其保存到文件中并从那里解析它。 但是,我真的希望能够从ruby中访问信息。 例如,我将程序的页面名称“www.gamename.com/…?id=12345”传递给它,它将登录到facebook,转到该页面并抓取数据。 目前,如果我尝试,它不起作用,因为我被重定向到Facebook的登录页面。 如何通过登录界面访问我需要的页面? 我想使用我已经写过的nokogiri代码来做这件事; 但是,如果我必须,我可以使用别的东西重写它。 目前,该程序是一个独立的程序 – 而不是一个rails程序 – 但我可以改变它。 我看到一些可能指向Omniauth方向的信息,但我不确定这是我在寻找什么,而且看起来也很复杂。 我希望有一个更简单的解决方案。 谢谢

刮刮AngularJS应用程序

我正在使用Nokogiri在Rails中删除一些HTML页面。 当我试图废弃AngularJS页面时遇到了一些问题,因为gem在完全呈现之前打开了HTML。 有没有办法废弃这种类型的页面? 如何在抓取页面之前完全呈现页面?

Nokogiri能解释javascript吗? – 网页搜罗

我们正在努力削减此页面上的可用性: http : //www.equityapartments.com/new-york/new-york-city-apartments/midtown-west/mantena-apartments.aspx 我需要使用我的蜘蛛在“所有平面图”上选择并获取所有可用性。 但是我相信这些数据实际上是通过Javascript请求发送的。 我的Nokogiri蜘蛛有没有办法渲染它? 或者可以模拟点击按钮的过程?

Nokogiri,open-uri和Unicode角色

我正在使用Nokogiri和open-uri来抓取网页上标题标签的内容,但是在重音字符方面遇到了麻烦。 处理这些问题的最佳方法是什么? 这就是我正在做的事情: require ‘open-uri’ require ‘nokogiri’ doc = Nokogiri::HTML(open(link)) title = doc.at_css(“title”) 此时,标题看起来像这样: 抹布\ 303 \ 271 代替: 肉酱 我怎样才能让nokogiri返回正确的字符(例如,在这种情况下为ù)? 这是一个示例url: http://www.epicurious.com/recipes/food/views/Tagliatelle-with-Duck-Ragu-242037