我正在使用 Ruby 和 Nokogiri 抓取一个网站。
此脚本创建一个本地文本文件,打开一个 URL,并在满足表达式时写入文件tr td
。它工作正常。
require 'rubygems'
require 'nokogiri'
require 'open-uri'
DOC_URL_FILE = "doc.csv"
url = "http://www.SuperSecretWebSite.com"
data = Nokogiri::HTML(open(url))
all_data = data.xpath('//tr/td').text
File.open(DOC_URL_FILE, 'w'){|file| file.write all_data}
每行有五个字段,我想水平运行,然后在填充五个单元格后转到下一行。数据都在那里,但不可用。
我希望从知道如何创建 CSV 格式代码的人那里学习或获取代码:
- 在脚本读取代码时,将每个新的 td /td x5 水平转储到其自己的单元格中。
- 转到下一行等。
HTML的布局是:
<tr>
<td>John Smith</td>
<td>I live here 123</td>
<td>phone ###</td>
<td>Birthday</td>
<td>Other Data</td>
</tr>
最终产品应该是什么样子。
http://picpaste.com/pics/Screenshot-KRnqRGrP.1361813552.png
电流输出
john Smith I live here 123 phone ### Birthday Other Data,