a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Ruby > 正文

Ruby中Mechanize的使用深度解析

2020-02-24 15:40:28
字體:
供稿:網(wǎng)友

  下面是小編給大家分享的一篇ruby.html" target="_blank">Ruby中Mechanize的使用深度解析,感興趣的朋友跟小編一起來了解一下吧!

  Ruby中實現(xiàn)網(wǎng)頁抓取,一般用的是mechanize,使用非常簡單。

  安裝

  復(fù)制代碼 代碼如下:

  sudo gem install mechanize

  抓取網(wǎng)頁

  復(fù)制代碼 代碼如下:

  require 'rubygems'

  require 'mechanize'

  agent = Mechanize.new

  page = agent.get('http://google.com/')

  模擬點擊事件

  復(fù)制代碼 代碼如下:

  page = agent.page.link_with(:text => 'News').click

  模擬表單提交

  復(fù)制代碼 代碼如下:

  google_form = page.form('f')

  google_form["q"] = 'ruby mechanize'

  page = agent.submit(google_form, google_form.buttons.first)

  pp page

  分析頁面,mechanize用的是nokogiri解析網(wǎng)頁的,所以可以參照nokogiri的文檔

  復(fù)制代碼 代碼如下:

  table = page.search('a')

  text = table.inner_text

  puts text

  有幾點注意的地方: 如果需要先登錄的網(wǎng)頁,那么可以在網(wǎng)站先登錄,登錄后記錄JSESSIONID,然后賦值給agent

  復(fù)制代碼 代碼如下:

  cookie = Mechanize::Cookie.new("JSESSIONID", "BA58528B76124698AD033EE6DF12B986:-1")

  cookie.domain = "datamirror.csdb.cn"

  cookie.path = "/"

  agent.cookie_jar.add!(cookie)

  如果需要保存網(wǎng)頁,使用.save_as,(或許save也可以,我沒試過)例如

  復(fù)制代碼 代碼如下:

  agent.get("http://google.com").save_as

  小技巧

  puts Mechanize::AGENT_ALIASES 可以打印出所有可用的user_agent

  puts Mechanize.instance_methods(false) 輸出Mechanize模塊的所有方法

  puts Mechanize.instance_methods() 輸出Mechanize模塊的所有方法以及所繼承的類的函數(shù)

  以上就是Ruby中Mechanize的使用深度解析了,想必都了解了吧,更多相關(guān)內(nèi)容請繼續(xù)關(guān)注武林技術(shù)頻道。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 欧美日韩一区二区在线观看 | 亚洲午夜精品久久久久久app | 久久精品女人 | 国产精品欧美一区二区三区 | 国产又黄又粗又爽的视频 | 日韩电影免费在线观看中文字幕 | 国产a√ | 日韩综合网 | 午夜视频在线观看网站 | 色呦呦一区 | 色免费在线观看 | 奇米影视77| 久久久精品日本 | 亚洲欧美少妇 | 国产剧情一区二区 | 91精品久久久久久久久中文字幕 | 黄色视屏免费观看 | 久久久精品 | 久热九九 | 国产目拍亚洲精品99久久精品 | 青青成人网 | 日本在线观看视频 | 久久电影国产 | 国产精品欧美一区二区 | 国产αv在线 | 日韩欧美中文字幕在线视频 | 国产欧美一区二区精品性色 | 国产区亚洲 | 日韩精品一区二区三区四区 | a成人在线 | 全免费一级毛片免费看 | 亚洲色图欧美激情 | 欧美一级二级视频 | 黑人巨大精品欧美黑白配亚洲 | 国产成人精品免费视频大全 | 国产成人精品免费 | 成人国产精品久久 | julia一区二区中文久久94 | 亚洲精选国产 | 日韩精品播放 | aaa久久|