2011-01-14 8 views
0

I doにはこれを行う権限があります。Ubuntu:複数のウェブサイトからフィールドを一括ダウンロードする方法は?

「製品の説明」と「製品のイメージ」をダウンロードする必要がある約250ページのWebサイトがあります。どうすればいいのですか?私はCSVにデータを取得したいので、DBテーブルに入れることができます。誰かがこのチュートリアルを始めるには良いチュートリアルを教えてくれますか?私はcURLを使うべきでしょうか?

はこれまでのところ、私は別のstackoverflowのページ、How do I transfer wget output to a file or DB?からこれを得た:

curl somesite.com | grep sed etc | sed -e '/^(.*)/INSERT tableName (columnName) VALUES (\1)/' |psql dbname 

そして、私は、画像を取得するために、吸うどの本、作成した:このビデオを見て

#!/bin/bash 

lynx --source "www.site.com"|cut -d\" -f8|grep jpg|while read image 
do 
wget "www.site.com/$image" 
done 

を:http://www.youtube.com/watch?v=dMXzoHTTvi0を。

+0

あなたが権限を持っている場合は、ローカルのファイルを持っていないでしょう(つまり、カールのあるWebサイトとしてアクセスする必要はありません) – Fosco

+2

Ifあなたは面倒なコードを望んでいます。そうすれば、PHPのHttpRequest、PEAR Http_Request、またはZend_Httpのほうが優先します。一度だけダウンロードすれば、簡単な 'wget -p http:// example.org/prodcuts/*'が簡単かもしれません。 – mario

+0

Perlの 'WWW :: Mechanize'が気になります。おそらくPHPよりも仕事のための優れたツール(主にCPANが素晴らしいからです) – derobert

答えて

1

あなたはスクリーンスクレイピングと呼ばれることをしたいと思います。ここで

はあなたが始めるためにいくつかのリンクがあります:

+0

私はコマンドラインからやりたいと思っていました。私は「スクリーンスクレイピング」が視覚的な印象を受けました。私はこれらのリンクを一見して、あなたに戻ってきます。ありがとう、バイロン。 –

+0

「再帰的フェッチ」と呼ばれることはありますか? –

+0

私はリンクを見直し、それらの多くがエラーを返すコードにつながることを発見しました。たとえば、最初のリンクの最初のコードブロックは無効なトークンエラーを返します。私はあなたが良い例を何とか作ることができることを願っています。 :)私は1つを見つけました。私は自分の答えでそれをリンクしたいと思います。私は、あなたが最初に戻ってくることを試みることを歓迎する。ありがとうございました。 –