2019-11-19

Craft CMS の Scraper プラグインを使って別ページの情報を取り出して表示させてみる #craftcms

Craft CMS のテンプレートでスクレイピングした内容を扱える Scraper プラグインがあったので試してみた。

TopShelfCraft/Scraper
https://github.com/TopShelfCra...

使い方としては Symfony client と SimpleHtmlDom client を使う方法があるみたいなのだけど、Symfony client でうまいことできなかったのでとりあえず SimpleHtmlDom client で。

プラグインつかわずに他の方法でやれば、、、という話もあるけど、その辺は一旦おいておく。

bit part のサイトのこの部分を取り出してみる。

コードとしてはこんな感じで。

{% set crawler = craft.scraper.using('simplehtmldom').get('https://bit-part.net/') %}
<ul>
    {% for node in crawler.find('#blog .news-list01 .news-list01__data a.news-list01__title') %}
        <li><a href="{{ node.attr.href }}">{{ node.innertext() }}</a></li>
    {% endfor %}
</ul>

やってみるとこんな感じで表示ができた。

なるほどなるほど。

これだけだとあまり面白みはなさそうだけど、何かの時に参考になれば、ということで。