現在、Excelドキュメントから複数の製品サイトをクロールしています。異なるURLから同じ識別子のアイテムをマージする方法
は、文書は次のように基本的になります。
ID URL1 URL2 URL3
01 abc.com/1 def.com/1 ghi.com/1
02 abc.com/2 def.com/2 ghi.com/2
03 abc.com/3 def.com/3 ghi.com/3
私のクモは今のサイトが異なるため、対応するparse
-functionに要求を生成し、それぞれにIDを渡し、IDとURLを取り、関数。
問題は今である私のCSV出力リストこのような各IDを複数回、:
ID PriceURL1 PriceURL2 PriceURL3
01 xx.xx
01 xx.xx
01 xx.xx
02 xx.xx
02 xx.xx
...
アイテムをマージする方法は、各IDを持つように価格は全て異なるから集められた、ありますparse
-functions?
これまでのところ、私は私のオプションがあることだと思う:クモは、各parse_urlX
-functionで要求を得、最初、URL2二などURL1をクロールするように、掻き取り順序を実装
- が、私ドン私は毎回その文書からURLを読まなければならないので、これが本当に優雅で資源にやさしい方法であるかどうかは分かりません。
- スパイダーがスクレイピングを終えた後は、それをそのままクロールして、出力csvファイルのスクラップしたアイテムをマージします。
- アイテムパイプラインを使用してIDをセットに追加し、その後、現在スクレイプされたIDが既に掻き出されているかどうかをチェックし、そうであればアイテムに現在の価格を追加する。
私は3回試みましたが、今までは、以前にスクラップしたアイテムにアクセスして更新する方法を理解できません。
これを達成するにはどうすればよいでしょうか?
ありがとう、これは私をかなり助けてくれました。 – rongon