メインコンテンツへスキップ

HTML::ArticleExtractor - 記事スクレイパー

スクレイパーの概要

スクレイパーの概要HTML::ArticleExtractorHTML::ArticleExtractor はウェブページから記事を収集します。

A-Parserに組み込まれた@mozilla/readabilityモジュールを使用して動作し、記事のタイトル、HTMLあり・なしのコンテンツ、記事の長さなどの主要なデータを収集します。

ベースとしてスクレイパー Net::HTTPNet::HTTP を使用しており、その機能を継承しています。マルチページスクレイピング(ページ遷移)をサポートしています。内蔵の CloudFlare 保護回避機能、およびスクリプトでデータが読み込まれるページからメールをスクレイピングするためのエンジンとして Chrome を選択する機能を備えています。

最大で分間 200 リクエストの速度に達することができ、– これは1時間あたり 12 000 リンクに相当します。

収集データ

  • 記事のタイトル - $title
  • 処理された記事コンテンツのHTML文字列 - $content
  • 記事のテキストコンテンツ(すべてのHTMLを削除) - $textContent
  • 文字数による記事の長さ - $length
  • 記事の説明または内容の短い抜粋 - $excerpt
  • 著者のメタデータ - $byline
  • サイト名 - $siteName

機能

  • マルチページスクレイピング(ページ遷移)
  • gzip/deflate/brotli 圧縮をサポート
  • サイトのエンコーディングを特定し UTF-8 に変換
  • CloudFlare の保護を回避
  • エンジンの選択(HTTPまたはChrome)
  • 記事の長さを指定可能
  • HTMLタグあり・なしでの記事スクレイピング

ユースケース

  • 任意のサイトからの完成された記事の収集

クエリ

クエリには、記事をスクレイピングするページのリンクを指定する必要があります。例:

https://a-parser.com/docs/
https://lenta.ru/articles/2021/09/11/buran/
https://www.thetimes.co.uk/article/the-russian-banker-the-royal-fixers-and-a-500-000-riddle-vvgc55b2s

結果の出力例

A-Parserは、内蔵のテンプレートエンジンTemplate Toolkitにより柔軟な結果のフォーマットをサポートしており、任意の形式や、CSVやJSONなどの構造化された形式で結果を出力できます。

設定可能な項目

注記

すべてのスクレイパーに共通の設定 スクレイパー Net::HTTPNet::HTTPすべての設定 をサポートしています。