• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ruby用百度搜索爬虫

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

博主ruby学得断断续续,打算写一个有点用的小程序娱乐一下,打算用ruby通过百度通道爬取网络信息。

第三方库准备

  • mechanize:比较方便地处理网络请求,类似于Python中的requests
  • nokogiri:解析HTML文本,采用的是jquery选择器

步骤分析

  • 用mechanize创建一个agent对象
  • 我们首先登录百度主页
  • 找到百度『搜索』框的表单
  • 填写表单内容
  • 提交表单(agent用该表单的内容发出submit动作)
  • 分析百度获得的搜索结果列表
  • 用nokogiri解析HTML文本,提取出我们感兴趣的内容

代码

require 'mechanize'
require 'nokogiri'

# 百度搜索的关键字,可修改
keyword = 'ruby'

# 创建一个agent对象
agent = Mechanize.new
# 发送get请求获取页面
page = agent.get 'http://www.baidu.com/'
# 根据名字属性定位表单
search_form = page.form_with :name => 'f'
# 填表,搜索框的name是wd
search_form.field_with(:name => "wd").value = keyword
# 提交表单
search_results = agent.submit search_form
doc = Nokogiri::HTML(search_results.body)
doc.css('.c-container > h3 > a').each{
  |item|
  puts item.text
}

测试结果


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
11、redis使用ruby实现集群高可用发布时间:2022-07-14
下一篇:
[RubyonRails系列]5、专题:TalkAboutSaSS发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap