我刚开始学习Ruby.非常酷的语言,喜欢它很多.
我正在使用非常方便的Hpricot HTML解析器.
我要做的是从页面中获取所有文本,不包括HTML标记.
例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Data Protection Checks</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
This is what I want to grab.
</div>
<p>
I also want to grab this text
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我基本上只想抓取文本,所以最终得到一个像这样的字符串:
"这就是我想要抓住的.我也想抓住这个文字"
这样做的最佳方法是什么?
干杯
EEF
Sim*_*tti 10
您可以使用XPath text()选择器执行此操作.
require 'hpricot'
require 'open-uri'
doc = open("http://stackoverflow.com/") { |f| Hpricot(f) }
text = (doc/"//*/text()") # array of text values
puts text.join("\n")
Run Code Online (Sandbox Code Playgroud)
然而,这是一个相当昂贵的操作.可能有更好的解决方案.
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |