这里是用到了nokogiri库,从某HTML里读出内容。不过有意思的是,当我们加上一些特定功能的时候就可以当一个爬虫到处搜索资料了。
Ruby Nokogiri
安装nokogiri,大家都懂的
gem install nokogiri
Ruby解析HTML
我们想要的是从
phodal <!--more--> [caption id="attachment_23" align="alignnone" width="240"]<a href="/logo.png"><img class="size-full wp-image-23" alt="CSDN" src="/logo.png" width="240" height="90" /></a>
这段HTML中解析出里面的img标签,于是
require 'nokogiri'
doc = Nokogiri::HTML('phodal <!--more--> [caption id="attachment_23" align="alignnone" width="240"]<a href="/logo.png"><img class="size-full wp-image-23" alt="CSDN" src="/logo.png" width="240" height="90" /></a>')
p doc.css('img').first['src']
于是这就是一个简单的示例,如果我们还想从某个网页中抓取我们需要的内容。
require 'rubygems'
require 'nokogiri'
require 'open-uri'
page = Nokogiri::HTML(open("http://www.phodal.com/"))
puts page.css('img').first['src']
用于抓取本网站的第一个带有src的img标签,换句话说就是图片的来源。
而这里是用于解析上一篇中说到的wordpress 微信
require 'json'
require 'net/http'
require 'nokogiri'
post_id = 1
image_response = Net::HTTP.get_response("localhost","/?wpapi=get_posts&dev=1&comment=1&content=1&id="+post_id)
image_response_content = (JSON.parse image_response.body)['posts'][0]['content']
image_req = Nokogiri::HTML(image_response_content).css('img').first['src']
或许您还需要下面的文章: