`

网络爬虫工具

阅读更多
http://hi.baidu.com/whhzthfnayhntwe/item/a4f9ae056f08b012cc34eadc

Ruby Web Spidering and Data extraction

Anemone:

http://anemone.rubyforge.org

Example:

Anemone.crawl("http://www.example.com/") do |anemone|   

      anemone.on_every_page do |page|

           puts page.url  

     end

end 

Anemone提供了5个动词

after_crawl - 在crawl完了之后在所有抓取到的页面上运行一个block

focus_crawl - 用一个block去选择每个页面跟随哪些链接

on_every_page - 对每个页面运行block

on_pages_like - 给定一个模式,URL匹配的页面才运行block

skip_links_like - 跳过URL模式匹配的页面

每个page对象包含下面属性

url - page的URL

aliases - 重定位到这个page的URI,或这个page重定位到的页面

headers - HTTP响应头部信息

code - HTTP响应码

doc - 页面的Nokogiri::HTML::Document

links - 页面上的指向同样域名的所有URL数组



---------------------------------------------------------------------------

Mechanize:

http://mechanize.rubyforge.org



examples:

require 'rubygems'

require 'mechanize'

#创建实例

agent = Mechanize.new

#加载网页

page = agent.get("http://www.inruby.com")

#使用Mechanize::Page方法

page.title

page.content_type

page.encoding

page.images

page.links

page.forms

page.frames

page.iframes

page.labels

signup_page = page.link_with(:href =>/signup/).click

#使用Mechanize::Form

u_form = signup_page.form_with(:action =>/users/)

u_form['user[login]'] = 'maiaimi'

u_form['user[password]'] = 'maiami'

u_form['user[password_confirmation]'] = 'maiami'

u_form.submit

---------------------------------------------------------------------------------------------

#example2

This is an example of how to access a login protected site with WWW ::Mechanize. In this example, the login form has two fields named user and password. In other words, the HTML contains the following code:



   1  <input name="user" .../>

   2  <input name="password" .../>



Note that this example also shows how to enable WWW ::Mechanize logging and how to capture the HTML response:



   1  require 'rubygems'

   2  require 'logger'

   3  require 'mechanize'

   4 

   5 agent = WWW::Mechanize.new{|a| a.log = Logger.new(STDERR) }

       agent = Mechanize.new({|a| a.log = Logger.new(STDERR)}

   6  #agent.set_proxy('a-proxy', '8080')

   7  page = agent.get 'http://bobthebuilder.com'

   8 

   9  form = page.forms.first

  10  form.user = 'bob'

  11  form.password = 'password'

  12 

  13  page = agent.submit form

  14 

  15  output = File.open("output.html", "w") { |file|  file << page.body }



Use the search method to scrape the page content. In this example I extract all text contained by span elements, which in turn are contained by a table element having a class attribute equal to ‘list-of-links’:



   1  puts page.search("//table[@class='list-of-links']//span/text()") # do |row|



Mechanize Tips

1. agent alias

irb(main):071:0> Mechanize::AGENT_ALIASES.keys

=> ["Mechanize", "Linux Firefox", "Mac Mozilla", "Linux Mozilla", "Windows IE 6", "iPhone", "Linux Konqueror", "Windows IE 7", "Mac FireFox", "Mac Safari", "Windows Mozilla"]

2. reassign Mechanize's html parser

Mechanize.html_parser = Hpricot 

agent = Mechanize.new   

agent.user_agent_alias = 'Windows IE 7'  
分享到:
评论

相关推荐

    python安装包,网络爬虫工具

    python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python安装包,网络爬虫工具 python...

    数据爬取_网络爬虫工具_GooSeeker网络爬虫_免费数据爬虫

    网络爬虫工具是实现这一目标的重要手段,它们能够帮助用户高效、快速地从网站上抓取所需的数据,而无需手动操作。GooSeeker网络爬虫就是一款这样的工具,它为用户提供免费的数据爬取服务。 GooSeeker网络爬虫是一款...

    用于网络爬虫工具

    标题中的“用于网络爬虫工具”表明这是一款用于网络数据抓取的软件,通常这类工具可以帮助用户自动浏览网页,提取所需信息,包括文本和图片。爬虫在IT领域扮演着重要角色,尤其在数据分析、市场研究、搜索引擎优化...

    C#写的网络爬虫工具

    **C#编写的网络爬虫工具** 网络爬虫是一种自动抓取互联网信息的程序,它按照一定的规则在网页之间穿梭,收集所需的数据。C#作为.NET框架下的编程语言,提供了丰富的库和工具来构建高效、稳定的网络爬虫。本项目中的...

    网络爬虫工具如何爬取网站数据.doc

    网络爬虫工具如何爬取网站数据 网络爬虫工具如何爬取网站数据是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫工具是一种专门的爬虫工具,爬虫工作原理是:选择一些比较重要的、出度(网页中链...

    20款最常使用的网络爬虫工具推荐(2018).pdf

    "20款最常使用的网络爬虫工具推荐" 一、八爪鱼·云采集网络爬虫软件 八爪鱼是一款免费且功能强大的网站爬虫,用于从网站上提取你需要的几乎所有类型的数据。你可以使用八爪鱼来采集市面上几乎所有的网站。八爪鱼...

    20款最常使用的网络爬虫工具推荐.docx

    "网络爬虫工具推荐" 网络爬虫是一种自动化工具,用于从网站上提取特定或更新的数据并存储下来。随着网络爬虫的普及,人们可以轻松访问网站数据资源,并免于反复打字或复制粘贴。以下是20款最常使用的网络爬虫工具的...

    Python-scrape一个命令行网络爬虫工具

    **Python-scrape:一个命令行网络爬虫工具** 在当今数据驱动的世界中,网络爬虫是获取大量在线信息的关键工具。Python-scrape 是一个专为开发者设计的命令行网络爬虫工具,它允许用户轻松地从网站抓取数据,而无需...

    网络爬虫工具如何爬取网站数据.pdf

    网络爬虫工具如何爬取网站数据.pdf

    第3讲-网络爬虫工具库(基础和工具)-I.html

    第3讲-网络爬虫工具库(基础和工具)-I.html

    python 网络爬虫工具集合,做点有趣的事情.zip

    无论您是需要快速抓取特定网站的数据,还是希望构建复杂的网络爬虫来处理大量数据,这里都有适合您的工具。 为何选择我们的Python爬虫工具 实用性: 这些工具都是根据实际需求开发的,具有高度的实用性和针对性,...

    一个简单的网络爬虫工具,使用Python三方库实现。.zip

    无论您是需要快速抓取特定网站的数据,还是希望构建复杂的网络爬虫来处理大量数据,这里都有适合您的工具。 为何选择我们的Python爬虫工具 实用性: 这些工具都是根据实际需求开发的,具有高度的实用性和针对性,...

    Java 开发的网络爬虫工具

    用来抓取网站上,我们需要的文本信息。使用该工具,需要会简单的正则表达式和Xpath。

    fidder网络爬虫工具

    可以看到各个时间段的每一个参数的值。是网络开发的利器。可以看到各个时间段的每一个参数的值。是网络开发的利器。可以看到各个时间段的每一个参数的值。是网络开发的利器。

    网络爬虫工具包

    public static void main(String[] args) throws Exception { List tiaoj = new ArrayList(); tiaoj.add("\""); ... for(int i =0;i();i++){ filedown.imgdown(list.get(i).toString(), "H://2013-4-25//");...

    它是一个先进的网络爬虫工具,利用 BeautifulSoup 和机器学习技术实现高效的数据提取和分析

    网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫...

Global site tag (gtag.js) - Google Analytics