zoukankan      html  css  js  c++  java
  • Ruby用百度搜索爬虫

    Ruby用百度搜索爬虫

    博主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
    }
    

    测试结果

  • 相关阅读:
    jmeter导出提取的值或参数化的值到excel
    超级有用的正则表达式
    性能测试监控
    asp.net 多线程
    VS代码格式化快捷键
    JS判断IE版本
    Jquery原创排序table
    将aspx转化为html代码
    Java基本语法——变量
    Entity Framework 中的LazyLoading
  • 原文地址:https://www.cnblogs.com/fanghao/p/7906084.html
Copyright © 2011-2022 走看看