質問: Pythonを使ってとあるサイトの情報をスクレイピングしようと考えています。 取得したいデータとして、aタグのリンク、img要素の画像と一部テキストです。 (リンク、画像、テキストで1セットで、それを複数回スクレイピングします。) また、取得したリンク、画像、テキストを全て一覧化して一つの場所表示したいです。 (コンソールに画像も表示できれば一番いいですが、そういう方法があるのか分からないため、コンソールじゃない場所でもOKです。) 質問としまして、 ・上記(特に複数画像のまとめて表示)は実現可能でしょうか。 ・どのライブラリを使うのが良さそうでしょうか。 どういうライブラリで、どうこうしたらいいんじゃないかな〜 的なことをザックリ聞きたかったので質問させていただきました。 ご回答のほど、よろしくおねがいいたします。
回答: Pythonでやる方法 =========== 取得 標準のurllibでも可能ですが、Requestsというライブラリが非常に使いやすいです。 Requests: HTTP for HumansTM — Requests 2.21.0 documentation スクレイピング BeautifulSoup4というライブラリが一般に使われています。 Beautiful Soup Documentation — Beautiful Soup 4.4.0 documentation 画像の表示 `取得したリンク、画像、テキストを全て一覧化して一つの場所表示したい` というのはちょっとよくわからないのですが、それぞれファイルとして保存して一つのディレクトリにまとめておけばよいのではないでしょうか。 ちなみに、コンソールへの画像の表示はPython製ではありませんが`catimg`や`timg`というツールが有名です。 posva/catimg: Insanely fast image printing in your terminal hzeller/timg: A terminal image viewer Pythonを使わない方法 ============= 質問内容を読むに、必要なのは**Pythonでスクレイピングする**よりも**Webサイトをダウンロードする**ことのように見受けられます。その場合、新しくツールを作成するよりも既存のツールを利用するほうが近道になります。 もしその場合、以下のようなツールが有用です。 HTTrack Website Copier - Free Software Offline Browser (GNU GPL)