Skip to content

2024‐07‐31 Firecrawlによるクローリング

matsusho070 edited this page Jul 31, 2024 · 7 revisions
  • ひとまずFirecrawlのアカウントを作成→APIキーを登録し、以下の設定でクローリングを行ってみた。

image

  • "Crawl sub-pages" を有効にしたので、かなりのページを辿ってくれることを期待したが、1ページしか取得できなかった。 image

  • もしかしてプランの問題かとも思ったが、フリープランでも500ページまではクローリングしてくれるはずなので別の理由と思われる。

  • おそらくは、該当するページが厳密な「サブページ」ではないから?

    • crawlerOptions.allowBackwardCrawling というオプションを設定すれば、ページ内リンクを問答無用で辿ってくれそうだが、Difyから実行する場合はそれを指定する方法が無さそう。
    • 今回はとりあえずDify経由で実行したい(Dify 側に実装済みのFirecrawlの連携機能をそのまま利用したいため)
  • ターゲットのURLをhttps://www.hokeniryo.metro.tokyo.lg.jp/kenkou/nanbyo/portal/seido/index.htmlではなく、https://www.hokeniryo.metro.tokyo.lg.jp/kenkou/nanbyo/portal/seido/のようにすれば良いかもしれないと思い、実行してみる。

  • 今度はうまくいったらしい。

image
  • ただ、取得された対象はHTMLだけであり、PDFなどのHTML以外のファイルは取れていないらしい。これはFirecrawlの仕様?
    • 少なくともscrape(単一URLからの情報取得)であれば実行できるように見える。crawl(サブページも含む自動取得)だと自動的には行えないのかも?
  • 現時点でOpenAIの埋め込みモデルが使えないため、一旦デフォルトの埋め込みモデルでインデックス作成を行った。
  • 追加の実験として、Dify自体はxlsxもインポートできるとのことだったので、Firecrawl越しでも同様にインポートできるか試してみた。
  • 参考までに、Dify自体の機能でExcelファイルを読み込んだ結果は以下のようなもの。チャンクの取得の仕方などには課題がありそう image