ruby nokogiri 数据抓取

记录测试代码

require 'open-uri'
require 'nokogiri'
require 'pp'
require 'json'


weburl = {}
weburl['sinawbo'] = 'http://hot.weibo.com/?leftnav=1'  #新浪热门微博
weburl['bk'] = 'http://www.qiushibaike.com/8hr/page/'  #bk
def getInfo(key,url)
    if key == 'sinawbo'
        pp 'SINAWBO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
        doc = Nokogiri::HTML(open(url),nil,'utf-8')                     #获取页面数据对象
        doc.search("//div[@class = 'WB_feed']//div[@class = 'WB_feed_type SW_fun type_intimate feed_list']").each_with_index do |div,index|
            pp index
            webhref = div.css('div')[3]
            puts webhref.css('a').attr('href')                          #获取属性
            webtext = div.css('div')[4]
            pp webtext.text.encode('gbk')        
            link = div.css('div')[5]
            if link.get_attribute('class') == "chePicMin S_bg2 bigcursor"
                pp link.css('img')[0].get_attribute('src')              #获取属性
            end
            
        end
    elsif key == 'bk'
        pp "BK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
        for i in 1..10 do
            url1 = url
            url1 = url1 +i.to_s+'/'
            doc = Nokogiri::HTML(open(url1),nil,'utf-8')
            bkcontent = doc.search("//div[@class = 'content-block']//div[@class = 'col1']")
            tag = 1
            bkcontent.css('div').each do |info,key|
                if info.get_attribute('class') == 'content'
                    pp tag
                    tag +=1
                    puts info.text.encode('gbk')
                    end
                
                end
            end       
    end
end
    

def main(arr)
    arr.each do |key,value|
         getInfo(key,value)
     end
end
    
main(weburl)                    #运行函数

 

 

输出内容为

"SINAWBO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
0
http://weibo.com/2210168325
"【春晚节目单】【权威发布】经过蛇年春晚五次联排后的节目调整与修改,权威敲定版春晚节目单终于新鲜出炉。速速收藏之。三天后咱一起拿着节目单看春晚!最后啰嗦一句,虽是权威敲定版,也请以最终直播为准哈~"
"http://ww1.sinaimg.cn/thumbnail/83bc7e05jw1e1ji3716ybj.jpg"
1
http://weibo.com/nimui
"昨天跟一朋友聊天,他问我:”你希望谈一个长久的吗?“ 我心里万般感触,回想了下自己的恋情,写下了这篇《谈一场不分手的恋爱》送给你们。"
"http://ww1.sinaimg.cn/thumbnail/68f976d7gw1e1iqfkmv6ij.jpg"
2
http://weibo.com/xiaopuwoxiaopu
"“来年就交你啦!去保卫我泱泱中华大地吧!”——【新年好 >//////<,】(说好的年贺来了>v0(自娱自乐请别把图用于奇怪的地方拜托了OJZ||||"
"http://ww4.sinaimg.cn/thumbnail/6af102betw1e1jmnbeuwvj.jpg"
3
http://weibo.com/cqcb
"【歌手朱哲琴珠峰录制MV时遇暴雪,已失踪10小时】5日晚7点50分,朱哲琴经纪人依兰在腾讯微博中发出求救称,西藏西南部迎来大到暴雪,前往珠峰拍摄MV的歌手朱哲琴及随队工作人员全部失踪,截止记者发稿时间,已经将近10个小时完全失去联系,天气恶劣再加物资匮乏,目前情况十分危急。"
"http://ww3.sinaimg.cn/thumbnail/54a5e40djw1e1ivq6xwd4j.jpg"
4
http://weibo.com/npss
"来个微访谈吧,南派治愈问答。"
5
http://weibo.com/chway888
"赖昌星万里迢迢走私汽油,价格低于原来的市场价(不到3元),养肥了那么多位高权重的贪吏,养育了自己家乡所有55岁以上的老人,就这样居然还赚了几百亿。反观现在的两桶油,劣质汽油卖这么贵,居然天天喊亏。星哥,我每次加油时都会怀念你, 怀念你那博大的情怀。盼你早日出来东山再起!尼玛,加油! "
"http://ww1.sinaimg.cn/thumbnail/72a1dda8jw1e1iv6auf6qj.jpg"
6
http://weibo.com/xinhuashidian
"【孩子,走哪儿我都举着你的照片】春节将近,詹本玉一家举着寻人启示坐在北京地铁上。这位来自四川的母亲说,11岁的大女儿周沁去年7月11日晚11时在北京石榴庄走失后,现在一家人走哪儿都举着寻人启示。孩子,你在哪儿?联系电话:13641120549、13683639846、18201577176。(记者朱立毅)"
"http://ww1.sinaimg.cn/thumbnail/654b47dagw1e1jjqlqen8j.jpg"
7
http://weibo.com/ibukisatsuki
"《八一八我那刚入阵营的小恶人花从一次美丽邂逅到死情缘的全过程》。"
"http://ww3.sinaimg.cn/thumbnail/6aa3df83jw1e1iweehvg3j.jpg"
8
http://weibo.com/lastangel17th
"对着春晚节目单(上半部分)画了点吐槽"
"http://ww4.sinaimg.cn/thumbnail/69917555jw1e1jn49vfbqj.jpg"
9
http://weibo.com/choiseongho
"你们猜这谁?"
"http://ww4.sinaimg.cn/thumbnail/a8ef5277jw1e1jc0ht7d2j.jpg"
"BK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
1


作为一个山寨控,我经常把歌词乱改山寨化,今天洗完澡在房间换衣服。怒目凝视自己老二,突然情不自禁大吼而出…………啊啊啊啊啊啊给我一杯壮阳水,换我一夜不下垂!!!!!客厅坐的我姨妈我妈还有我姐。吼完之后我就我就没出卧室门!!!!!!

2


lz一直坚信自己是一位好妹纸。。每看一条就点一个笑脸。因为快过年了,给个笑脸希望糗友们高兴一点。。妹纸只能帮这么多了。。。

3


刚才开会 对面那位主任从名字上就把我完爆地体无完肤

4


半碗面,两个蛋,若干蛋糕。这么多人一起生日见过吗?没见过给个笑脸吧。

5


最近很火的一句话,靠这个破10了。

6


就在刚才,去文具店买信封,老板笑了笑说这年头买信封没有用来写信的了。懂的点个笑脸吧。

7


朋友开出租车,今天被投诉了,原因是有个人要打车从青岛去天津,说打表,朋友说,你把我打成表我都不去。

 

 其他:如果遍历一个table tr 里的td时又出现th 可以这样处理

  tr.children.map do |c|
   c.text
   puts c
  end

 

posted on 2013-02-06 17:32  d&lufd  阅读(738)  评论(0编辑  收藏  举报

导航