[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] nokogiri 1.2.3 Released

Aaron Patterson

3/23/2009 3:52:00 AM

nokogiri version 1.2.3 has been released!

* <http://nokogiri.rubyforg...
* <http://github.com/tenderlove/nokogiri...
* <http://github.com/tenderlove/nokogiri/tree/...
* <http://rubyforge.org/mailman/listinfo/nokogir...
* <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/ov...

Nokogiri (é?¸) is an HTML, XML, SAX, and Reader parser.

Changes:

### 1.2.3 / 2009-03-22

* Bugfixes

* Fixing bug where a node is passed in to Node#new
* Namespace should be assigned on DocumentFragment creation. LH #66
* Nokogiri::XML::NodeSet#dup works GH #10
* Nokogiri::HTML returns an empty Document when given a blank string GH#11
* Adding a child will remove duplicate namespace declarations LH #67
* Builder methods take a hash as a second argument

## FEATURES:

* XPath support for document searching
* CSS3 selector support for document searching
* XML/HTML builder
* Drop in replacement for Hpricot (though not bug for bug)

Nokogiri parses and searches XML/HTML very quickly, and also has
correctly implemented CSS3 selector support as well as XPath support.

Here is a speed test:

* http://gist.github...

Nokogiri also features an Hpricot compatibility layer to help ease the change
to using correct CSS and XPath.

## SUPPORT:

The Nokogiri mailing list is available here:

* http://rubyforge.org/mailman/listinfo/nok...

The bug tracker is available here:

* http://nokogiri.lighthouseapp.com/projects/19607-nokogir...

## SYNOPSIS:

require 'nokogiri'
require 'open-uri'

# Get a Nokogiri::HTML:Document for the page weâ??re interested in...

doc = Nokogiri::HTML(open('http://www.google.com/search?q=tende...))

# Do funky things with it using Nokogiri::XML::Node methods...

####
# Search for nodes by css
doc.css('h3.r a.l').each do |link|
puts link.content
end

####
# Search for nodes by xpath
doc.xpath('//h3/a[@class="l"]').each do |link|
puts link.content
end

####
# Or mix and match.
doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link|
puts link.content
end


## REQUIREMENTS:

* ruby 1.8 or 1.9
* libxml2
* libxml2-dev
* libxslt
* libxslt-dev

## INSTALL:

* sudo gem install nokogiri

* <http://nokogiri.rubyforg...
* <http://github.com/tenderlove/nokogiri...
* <http://github.com/tenderlove/nokogiri/tree/...
* <http://rubyforge.org/mailman/listinfo/nokogir...
* <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/ov...

--
Aaron Patterson
http://tenderlovem...

6 Answers

Phil Rhoades

3/23/2009 9:37:00 AM

0

When I do "gem install nokogiri" I get:

Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install nokogiri
checking for #include <iconv.h>
... yes
checking for #include <libxml/parser.h>
... no
libxml2 is missing. try 'port install libxml2' or 'yum install libxml2'

but when I try and do "yum install libxml2" I get:

Package libxml2-2.7.3-1.fc10.i386 already installed and latest version

How can I fix this?

Thanks,

Phil.

Aaron Patterson wrote:
> nokogiri version 1.2.3 has been released!
>
> * <http://nokogiri.rubyforg...
> * <http://github.com/tenderlove/nokogiri...
> * <http://github.com/tenderlove/nokogiri/tree/...
> * <http://rubyforge.org/mailman/listinfo/nokogir...
> * <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/ov...
>
> Nokogiri (é?¸) is an HTML, XML, SAX, and Reader parser.
>
> Changes:
>
> ### 1.2.3 / 2009-03-22
>
> * Bugfixes
>
> * Fixing bug where a node is passed in to Node#new
> * Namespace should be assigned on DocumentFragment creation. LH #66
> * Nokogiri::XML::NodeSet#dup works GH #10
> * Nokogiri::HTML returns an empty Document when given a blank string GH#11
> * Adding a child will remove duplicate namespace declarations LH #67
> * Builder methods take a hash as a second argument
>
> ## FEATURES:
>
> * XPath support for document searching
> * CSS3 selector support for document searching
> * XML/HTML builder
> * Drop in replacement for Hpricot (though not bug for bug)
>
> Nokogiri parses and searches XML/HTML very quickly, and also has
> correctly implemented CSS3 selector support as well as XPath support.
>
> Here is a speed test:
>
> * http://gist.github...
>
> Nokogiri also features an Hpricot compatibility layer to help ease the change
> to using correct CSS and XPath.
>
> ## SUPPORT:
>
> The Nokogiri mailing list is available here:
>
> * http://rubyforge.org/mailman/listinfo/nok...
>
> The bug tracker is available here:
>
> * http://nokogiri.lighthouseapp.com/projects/19607-nokogir...
>
> ## SYNOPSIS:
>
> require 'nokogiri'
> require 'open-uri'
>
> # Get a Nokogiri::HTML:Document for the page weâ??re interested in...
>
> doc = Nokogiri::HTML(open('http://www.google.com/search?q=tende...))
>
> # Do funky things with it using Nokogiri::XML::Node methods...
>
> ####
> # Search for nodes by css
> doc.css('h3.r a.l').each do |link|
> puts link.content
> end
>
> ####
> # Search for nodes by xpath
> doc.xpath('//h3/a[@class="l"]').each do |link|
> puts link.content
> end
>
> ####
> # Or mix and match.
> doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link|
> puts link.content
> end
>
>
> ## REQUIREMENTS:
>
> * ruby 1.8 or 1.9
> * libxml2
> * libxml2-dev
> * libxslt
> * libxslt-dev
>
> ## INSTALL:
>
> * sudo gem install nokogiri
>
> * <http://nokogiri.rubyforg...
> * <http://github.com/tenderlove/nokogiri...
> * <http://github.com/tenderlove/nokogiri/tree/...
> * <http://rubyforge.org/mailman/listinfo/nokogir...
> * <http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/ov...
>

--
Philip Rhoades

GPO Box 3411
Sydney NSW 2001
Australia
E-mail: phil@pricom.com.au

Dick Davies

3/23/2009 9:41:00 AM

0

On Mon, Mar 23, 2009 at 9:36 AM, Philip Rhoades <phil@pricom.com.au> wrote:
> When I do "gem install nokogiri" I get:
>
> Building native extensions. =A0This could take a while...
> ERROR: =A0Error installing nokogiri:
> =A0 =A0 =A0 =A0ERROR: Failed to build gem native extension.
>
> /usr/bin/ruby extconf.rb install nokogiri
> checking for #include <iconv.h>
> ... yes
> checking for #include <libxml/parser.h>
> ... no
> libxml2 is missing. =A0try 'port install libxml2' or 'yum install libxml2=
'
>
> but when I try and do "yum install libxml2" I get:

yum install libxml2-devel ?

(yay redhat)

Phil Rhoades

3/23/2009 10:42:00 AM

0

Dick,


Dick Davies wrote:
> On Mon, Mar 23, 2009 at 9:36 AM, Philip Rhoades <phil@pricom.com.au> wrote:
>> When I do "gem install nokogiri" I get:
>>
>> Building native extensions. This could take a while...
>> ERROR: Error installing nokogiri:
>> ERROR: Failed to build gem native extension.
>>
>> /usr/bin/ruby extconf.rb install nokogiri
>> checking for #include <iconv.h>
>> ... yes
>> checking for #include <libxml/parser.h>
>> ... no
>> libxml2 is missing. try 'port install libxml2' or 'yum install libxml2'
>>
>> but when I try and do "yum install libxml2" I get:
>
> yum install libxml2-devel ?


Yep, had to do libxslt-devel as well but looks good - Thanks!

Phil.


> (yay redhat)
>

--
Philip Rhoades

GPO Box 3411
Sydney NSW 2001
Australia
E-mail: phil@pricom.com.au

ara.t.howard

3/23/2009 7:30:00 PM

0


On Mar 22, 2009, at 9:51 PM, Aaron Patterson wrote:

> * Builder methods take a hash as a second argument

can builder generate nodes like <type> yet?

a @ http://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama




Aaron Patterson

3/23/2009 9:42:00 PM

0

On Tue, Mar 24, 2009 at 04:29:47AM +0900, ara.t.howard wrote:
>
> On Mar 22, 2009, at 9:51 PM, Aaron Patterson wrote:
>
>> * Builder methods take a hash as a second argument
>
> can builder generate nodes like <type> yet?

It's possible, just not easy. ;-)

I'm working on it.

--
Aaron Patterson
http://tenderlovem...


ara.t.howard

3/23/2009 10:41:00 PM

0


On Mar 23, 2009, at 3:42 PM, Aaron Patterson wrote:

> It's possible, just not easy. ;-)
>
> I'm working on it.

have a look at this

http://codeforpeople.rubyforge.org/svn/t...

it avoids completes the method missing issues, allows mixing in, and
even supports conditional escaping for factoring out xml/html partials.

i'm using nokogiri for reading now, but tagz for writing

cheers.

a @ http://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama