我想创建一个与 Instapaper 或 Readability 类似的工具,我想知道从网页中查找和获取文本的最佳方法是什么。你有什么想法?
问问题
101 次
2 回答
1
这个问题太宽泛,无法给出具体答案,但您可以将这个问题分为三个问题:
一种获取网络资源的方法。
libcurl
例如,或者几乎任何能够说话的东西HTTP
。一个
DOM
解析器。xml.dom.minidom
例如,Python 有。一种遍历
DOM
树并提取文本的算法。无论是扫描元素class=article
,还是<div>
超过 1024 个字符的 s 等,完全取决于您。您需要进行实验才能做到这一点。
我建议针对这些问题分别提出不同的问题。当然,在对每个进行研究之后。:)
于 2012-06-28T14:11:21.900 回答
1
这是一个让你开始使用 Ruby 的想法。刚刚测试了下面的代码,它对我来说工作正常。看看它可能对你有帮助。
require 'open-uri'
require 'cgi'
require 'nokogiri'
$url='http://www.stackoverflow.com'
$txt_file = open($url)
$raw_contents = $txt_file.read
$html = Nokogiri::HTML(CGI.unescapeHTML($raw_contents)).content
#strip the web page fetched out of all hmtl tags and encoded chars
$txt_file = File.new('c:\ruby193\bin\web-content\stack.txt', "w")
#stack.txt now contains a stripped, pure txt file which you can manipulate further
$txt_file.write($html)
$txt_file.close
puts 'Here is the stripped text of your webpage\n'+$html
于 2012-06-28T14:17:12.053 回答