我在其中一个项目上有客户请求,他们希望能够输入网址并从网站输入一些信息,并将其保存在数据库中。
因此,用户输入:http://www.example.com/2342342并且我的控制器访问该网站,并获取网站上第一个<h1>Tag</h1>
的内容并将其保存在数据库中。这可能吗?如果是这样,我该怎么做呢?我会使用一些rails命令来执行此操作,还是使用其他东西,比如jQuery?
答案 0 :(得分:7)
Nokogiri是一个很棒的解析器,可以直接使用网址。
那里有两个步骤:
使用url作为参数实例化Nokogiri对象
解析html页面以获得您期望的内容
在此处查找说明:http://nokogiri.org/tutorials/parsing_an_html_xml_document.html
因为您将与其他网站合作,请记住两条建议:
打包您的查询,以便您可以解决网站是否已关闭
考虑使用ajax请求,因为它可能很长 p>
答案 1 :(得分:3)
我会在这里查看Railscast:
http://railscasts.com/episodes/190-screen-scraping-with-nokogiri
很好地解释了如何使用Nokogiri并从其他网站上抓取内容。