• 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
    }
    

    测试结果

  • 相关阅读:
    tableau用户留存分析
    tableau用户分类
    业务
    数据分析的思维技巧-二
    数据分析的思维技巧
    业务化思维
    公式化思维
    结构化思维
    Shortest Unsorted Continuous Subarray
    Longest Harmonious Subsequence
  • 原文地址:https://www.cnblogs.com/fanghao/p/7906084.html
Copyright © 2020-2023  润新知