しょっちゅう忘れてしまうので、自分用にまとめる
手順
- スクレイビングしたいネットのソースを探す(URL)
- 明らかにリンク先と考えられるリスト欄を探す。→ ロボットがそこをベースに探しに行く
chrome developer
URL登録
- Web Scraperのタグを選ぶ
- Create new sitemap → Create sitemapを選択
- Sitemap name→適当 、Start URL→調べたURLをコピペ
LINK先
- Add New Selectorを選択
- id → LINK、TYPE → LINK
- multiple → チェック
- selectタブをクリック
- 一層目としてLINK Aタグが入っていそうなものをクリック
- Pボタン(PARENT)で親をさかのぼり、親ノードを探す(赤くなる範囲が選択要素)
- Done Selectingを押す → selector に htmlノード名が入る
- 例)ul.lcp_catlist → このままだとA要素が選択されない
- 例)ul.lcp_catlist a → A要素を足す(ここが最大重要ポイント)
- Data viewを押す
こんな風にリンク先が取れていればOK
Data Preview
link | _followSelectorId | link-href | _follow |
---|---|---|---|
リンク先URL | link | https://xxxxx | https://xxxxx |
TEXT
- 本文があるページに飛ぶ
- linkを選ぶと、
_root / link
に表示が変わる - Add New Selectorを選択
- id → TEXT、TYPE → TEXT
- multiple → チェック
- selectタブをクリック
- 欲しいテキストが入っているHTML要素を選択
- Done Selectingを押す → selector に htmlノード名が入る
- Data viewを押す
→ これで1ページのテキスト内容を入手できれば、設定は終了
SCRABING
- sitemap → scrabingを実行する
- ページが切り替わり、どんどんスクレイビングされる
- export data as CSV → CSVに落とす
- VSCODEでCSVを開く
- 改行含めて、不要タグを外す
例 イメージタグの場合
<img[\n\s\S]*?>
WEBページの綺麗さに惑わされないこと
最近、どんどんWEBページが美しくなって、装飾に圧倒されてしまうことがある。
しかしながら、蓋を開けてしまえば、所詮CMSのコンテンツなんて言うものは、
人間が書いたテキストデータなので、あまりに時代の変化に一喜一憂しないほうが
いいのかと最近考えている。
例えばこのページ
https://tabi-labo.com/
もうノッケから、WEBデザイナーさんがかなり頑張っている感があって、
こんなに魅力的なサイトって、自分では無理っなんて思ってしまうと、
この先、自分がエンジニアとしてやっていけるのかなんて不安になってしまう。
WEBを裸に・・・
というわけで、最近は人様のWEBページを見ながら、スクレイビングを試みている。
やり方
一番簡単なのは、googleのWeb Scraper - Free Web Scraping
結果
スクレイビング 約30分
あっちゅうまに、コンテンツの中身が丸裸に・・・
こつ
-
リンク先 → link を選ぶ、セレクタ要素は**** a(スペース開けること)、 マルチにすること
→ 欲しい記事に、たどり着くまで、上記を繰り返すこと -
テキスト → TEXT を選ぶ。
結論
結局はWEBはテキスト情報。
コンテンツをスクレイビングして、あとは自然言語処理して、分類→要約→選別
なんとなく、WEBとの付き合い方を学んだ気がしました。