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

HTML::ArticleExtractor はウェブページから記事を収集します。A-Parserに組み込まれた@mozilla/readabilityモジュールを使用して動作し、記事のタイトル、HTMLあり・なしのコンテンツ、記事の長さなどの主要なデータを収集します。
ベースとしてスクレイパー
Net::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::HTTP の すべての設定 をサポートしています。