私は、MongoDBデータベースのモデル属性にデータを保存するためにCapybara/Poltergeistを使用するRuby on Railsのスクレイパーに取り組んできました。しかし、データセットは膨大で時間がかかるし、インターネット接続のような気を散らすことがあり、最初から始めなければならないこともあります。最後に残した場所からデータベースに要素を挿入し続ける方法を見つけてもらえますか?前回の退場場所からRailsアプリを続行するには?
naming.each_with_index do |namee, j|
@component=Compo.new
@component[:component]=gnamees[j]
@component[:partname]=Array.new
@session.execute_script("javascript:onSelectPart(#{namee[24..37]});")
sleep 2
@session.within_frame('content_consist') do
sleep 3
@session.within("form[name=ConsistList]") do
@session.all('input').each do |z|
@component[:partname] << z.value
end
end
end
@component.save
@session.driver.clear_memory_cache
end
として、そのような各@komponentはMongoDBの中に保存されます:私のコードの抜粋を簡素化
である私は、最新のデータベースエントリでアプリの外観をしたい、と続ける
{ "_id" : ObjectId("57ad5b7f678208560bcb21bd"), "component" : "2U-9747 - WARNING GP-WIDE VEHICLE", "partname" : [ "PLATE-MARKER WIDTH ", "BOLT ", "NYLOC NUT ", "WASHER ", "PLATE MARKER FRONT ", "PLATE MARKER FRONT ", "SCREW DRIVE PAN " ]}
最後のものの後に新しい要素を追加します。
ありがとうございます。
データをデータベースに保存する場合は、データベースに再接続して再度取得する必要があります。それはあなたが何をしているかによって異なります。あなたは本当にあなたのコードを決定するのに十分な説明をしていません。 –
私は、車の部品に関する情報を含むJS重いウェブサイトを削っています。私のコードはすべての車をループし、車の部品リストを抽出し、それらをオブジェクトインスタンスとして保存します。だから、どのようにピックアップが完了していますか? – Riman
1回の操作(レコードの作成など)を実行すると、データベースは有限の手順になります。アプリケーションの状態とデータベースの状態を一致させる方法は、個別化された問題です。再接続時に「ピックアップ」に苦労しているのは何ですか? –