コマンドラインからスクレイピングする方法
Nid: 912
Wikipediaの「猫の品種の一覧」ページから「猫の品種」HTMLテーブルをスクレイピングして取得、CSV変換して必要なデータをフィルタする例。
$ curl -s "https://ja.wikipedia.org/wiki/%E7%8C%AB%E3%81%AE%E5%93%81%E7%A8%AE%E3%81%AE%E4%B8%80%E8%A6%A7" \ > | hxnormalize -x \ > | hxselect 'table.wikitable' \ > | w3m -dump -cols 2000 -T 'text/html' \ > | sed -e 's/^\s\+//;s/ \+/,/g' \ > | csvcut -c 1,2,6 \ > | head 種類,原産国,毛色および模様 アビシニアン,エチオピアの旗エチオピア,複色 アメリカンカール,アメリカ合衆国の旗アメリカ合衆国,単色 アメリカンショートヘア,アメリカ合衆国の旗アメリカ合衆国,All アメリカンボブテイル,アメリカ合衆国の旗アメリカ合衆国,All アメリカンワイヤーヘア,アメリカ合衆国の旗アメリカ合衆国,All エキゾチックショートヘア(英語版),アメリカ合衆国の旗アメリカ合衆国,All エジプシャンマウ,エジプトの旗エジプト,ぶち オシキャット,アメリカ合衆国の旗アメリカ合衆国,Spotted オホースアズーレス(英語版),アメリカ合衆国の旗アメリカ合衆国,All
説明
- curl: HTML取得
- hxnormalize: HTML正規化
- hxselect: <table class="wikitable" を抽出
- w3m: HTMLをフォーマットしてテキスト表示
- sed: 行頭空白文字をトリムして、2つ以上の連続する半角スペースをカンマに置換してCSVデータに変換
- csvcut: CSVデータの1,2,6列目を取得
- head: 先頭10行を表示
関連記事
- 1 of 2
- next ›