具体来说,我想从维基百科页面(公共领域)导入目录之前的第一个文本块。
我们说我有一个Model" Resource",属性为x
,x
是一个维基百科链接的字符串(例如。{{ 1}})。每个维基百科页面上的第一个文本块是x: "http://en.wikipedia.org/wiki/Lanny_McDonald"
之前的<p>...</p>
组。
我可以编写复制这些<div id="toc" class="toc">...</div>
内容的代码并将其写入我的网站吗?
答案 0 :(得分:2)
这称为Web Scraping. 讽刺地遵循这个维基百科链接和 考虑法律后果等。
Nokogiri是老大...
安装:
sudo gem install nokogiri -- --with-xml2-include=/usr/local/include/libxml2 --with-xml2-lib=/usr/local/lib
使用方法: 有一些方法可以使用xpath或css进行搜索,这使得事情变得简单。
# wiki_scraper.rb
require 'open-uri'
require 'nokogiri'
# Load in the url.
@doc = Nokogiri::HTML(open("http://en.wikipedia.org/wiki/Branch_predictor"))
# Print the first <p> element
puts @doc.xpath("/html/body/p[1]")
答案 1 :(得分:0)
您可以使用HttpWebRequest来检索整个页面,然后解析html。有一些工具可以将html转换为xhtml,此时你可以使用xml库来解析xhtml。