yakczh 发表于 2011-02-12 17:14

Nokogiri的xpath("//script")与正则取出来的不一致

本帖最后由 yakczh 于 2011-02-12 22:55 编辑

file="index.html"  #index是163 的首页
page =File.open(file,:encoding => "gbk").readlines.join

#print page
doc = Nokogiri::HTML.parse(page,nil,"gb2312")

doc.xpath('//script').each do |link|
puts link
end

只有四个标签 

page =File.open(file,:encoding => "gbk").readlines.join
out=   page.scan(/<script.*?<\/script>/mi)
puts out.length

取出来有19个标签

yakczh 发表于 2011-02-16 22:15

分别用HTML::TreeBuilder,BeautifulSoap,Nokogiri抽取页面标签的结果

index.html 为测试页面
xpath为 //script
匹配结果 

TreeBuilder:  37
BeautifulSoap:37 (内容未匹配全)
Nokogiri:    21

附匹配结果
页: [1]
查看完整版本: Nokogiri的xpath("//script")与正则取出来的不一致