わかりました。必要なのは少し奇妙で、次のようになります。
手がかり配列は手動で作成され、データ配列は動的に作成されます。Xpath関数は、手がかりを入力として受け取り、結果をデータにマップして動的配列を作成します
clues = Array.new
clues << 'Power supply type'
clues << 'Slots'
clues << 'Software included'
selector = "//td[text()='%s']/following-sibling::td"
data = Array.new
data = clues.map do |clue|
xpath = selector % clue
[clue, doc.at(xpath).text.strip]
end
データ配列のコードは、2つの入力、手がかりとセレクターを使用し
ます。手がかり[インデックス]のすべてのアイテムは、%sでセレクターに入ります。
//td[text()='%s']/following-sibling::td
//td[text()='Power supply type']/following-sibling::td
//td[text()='Slots']/following-sibling::td
//td[text()='Software included']/following-sibling::td
次に、Xpathがオフになり、保存されたコマンドを使用してWebページから情報を取得します。これらはすべて、配列データの要素としてdata [0] ...data[3]として保存されます。
Data [2]はこのように見えます、情報の大きな塊
Symantec Norton Internet Security (60 days live update); Recovery partition (inc
luding possibility to recover system; applications and drivers separately); Opti
onal re-allocation of recovery partition;
ここにリストされているソフトウェアの各部分を取り出して、それ自体で保存したいと思います。
data[2]Symantec Norton Internet Security (60 days live update);
data[3]Recovery partition (including possibility to recover system;
data[4]Optional re-allocation of recovery partition;
では、どういうわけかdata [2]を分割して、データ配列に追加し直す必要があると思いますか?
スプレッドシートへの最終出力のために複数行で必要になるため、この特定のインデックスを分離しようとしています
最終的な望ましい出力