小编pur*_*ice的帖子

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
Run Code Online (Sandbox Code Playgroud)

但是,像亚马逊和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) :

    <script type="text/javascript">
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 for all audiences. What date were you born?"},"videoAds":null,"videoUnsupportedPrompt":"Sorry, this video is unsupported on this browser.","desiredMode":null,"swfUrl":"http://g-ecx.images-amazon.com/images/G/01/vap/video/airy2/prod/2.0.1102.0/flash/AiryBasicRenderer._V304902271_.swf","isAutoplayEnabled":null,"installFlashPrompt":"Adobe Flash Player is required to watch this video.","isLiveStream":null,"regionCode":"NA","contentId":null,"playbackErrorPrompt":"Sorry, an error has occurred …
Run Code Online (Sandbox Code Playgroud)

ruby xpath ruby-on-rails nokogiri web-scraping

6
推荐指数
1
解决办法
479
查看次数

Drupal 7 - 如何将unix时间戳插入数据库

Drupal新手问题.我正在尝试将当前日期/时间作为unix时间戳插入SQL数据库.它正在工作,我没有收到错误,但它每次只插入相同的值(2147483647).我正在研究一个本地主机(如果这有所作为)并尝试了以下内容,但都无济于事:

format_date(strtotime('now'), 'custom', 'YYYY-MM-DD 00:00:00'); 

format_date(time(), 'custom', 'YYYY-MM-DD HH:MM:SS'); 

format_date(mktime(), 'custom', 'YYYY-MM-DD HH:MM:SS');
Run Code Online (Sandbox Code Playgroud)

database unix timestamp drupal

5
推荐指数
1
解决办法
1万
查看次数

在jQuery更新后,Ruby on Rails/Twitter Bootstrap Popover无法正常工作

我在Rails 3中使用Twitter引导程序弹出窗口.
当我最初加载页面(显示操作)时,弹出窗口正常工作.

我的部分(一个叫另一个)看起来像这样:

<span class="solution_votes_stat" id="<%= 'solution_votes_stat_' + sid.to_s %>">
   <%= render :partial => 'solutions/popover', :locals => {:s => s} %>
</span>
Run Code Online (Sandbox Code Playgroud)

_popover.html.erb看起来像这样:

<% sid = s.id %>
<% solution_vote_up_count = s.solution_votes.votes_up.count %>

<% all_users_who_voted_up(sid) %>
<span class = "popover-with-html" rel = "popover"  
      data-original-title = "Who likes this" 
      data-content = "<%= render :partial => 'solutions/users_who_voted_up', :locals => {:users_who_voted_up => @users_who_voted_up} %>" 
      id="<%= 'solution_' + sid.to_s + '_up_votes' %>">
  <%= solution_vote_up_count %> 
</span>
<%= solution_vote_up_count==1 ? "Advisor" : "Advisors" %> …
Run Code Online (Sandbox Code Playgroud)

jquery ruby-on-rails popover twitter-bootstrap

3
推荐指数
1
解决办法
2731
查看次数