AutoScraperを使ったPythonによるWebスクレイピングの簡素化ガイド

ガイド, スクレイピング, パイソン, 月-2420245分で読める

AutoScraperは、ウェブサイトからデータを抽出するプロセスを簡素化する、Python用の強力なオープンソースのウェブスクレイピングライブラリです。HTMLコンテンツを解析するために大規模なコーディングを必要とする従来のウェブスクレイピングフレームワークとは異なり、AutoScraperは、あなたが提供する例に基づいて、必要な情報を抽出するためのルールを自動的に生成することができます。AutoScraperは、ウェブスクレイピングの初心者に特に適しています。そのユーザーフレンドリーなインターフェースと自動ルール生成により、豊富なコーディング経験がない方でもご利用いただけます。   

オートスクレーパーの主な特徴

  • 使いやすさ:数行のコードで、最小限のメンテナンスでウェブスクレーパーをセットアップすることができます。
  • 効率的なデータ抽出:AutoScraperのモデルは、ウェブページの構造を学習し、わずかな変更に適応するため、頻繁な調整の必要性を低減します。
  • 汎用性:幅広いウェブサイトをサポートし、より大規模なデータパイプラインに統合することができる。

AutoScraperクイックスタート

HTMLのパース処理をせずに、eコマースストアをスクレイピングしたいとする。AutoScraperは、商品名を'wanted_list'に入力するだけで、自動的にHTML構造を学習し、それ以降の商品を勝手に解析してくれる。

プロキシの実装を含め、そのプロセスを示すわかりやすい例がここにある:

ステップ1:AutoScraperをインストールする

まず、AutoScraperをインストールする必要がある。pipを使ってインストールする:

from autoscraper importオートスクレイパー

ステップ3:URLとウォンテッド・リストを定義する

スクレイピングしたいURLと、抽出したい要素や製品を指定します。そうすることで、AutoScraperはHTMLの構造を学習し、そのフレームワーク内のすべての類似した要素を正確に解析することができます:

url='https://books.toscrape.com/'
指名手配リスト= [
    「ティッピング・ザ・ベルベットSoumission"、
]

ステップ4:スクレーパーを作る

AutoScraperを使用してスクレイピング・モデルを構築する:

    scraper = AutoScraper()
    
    proxies = {
        "http": 'http://test_user112:[email protected]:6060',
        "https": 'http://test_user112:[email protected]:6060',
    }
    #  if you wish to use the same scraper again
    scraper.save('books_to_scrape')
    result = scraper.build(url, wanted_list, request_args=dict(proxies=proxies))
    print(result)

ステップ5:(オプション)前のスクレーパーを再利用する

    scraper=AutoScraper()

   scraper.load('books_to_scrape')

    結果=scraper.get_result(url)

コードによって生成された出力:

['ア・ライト・イン・ザ...'、 
ティッピング・ザ・ベルベット
Soumission」、 
シャープ・オブジェクト 
サピエンス:ア・ブリーフ・ヒストリー...」、 
レクイエム・レッド」ダーティ・リトル・シークレット 
来るべき女:A ...', 
ザ・ボーイズ・イン・ザ・...」、 
黒いマリア
飢えた(三角貿易...)」、 
「シェイクスピアのソネット」セット・ミー・フリー」、 
「スコット・ピルグリムのプレシャス・リトル・・・」Ripit Up and ...」、 
「OurBand Could Be ..、 
Olio」、 
メセリオン」:ベスト・サイエンス 
初心者のためのリバタリアニズム」、 
「たかがヒマラヤ」、 
屋根裏の」、 
サピエンス:人類小史」、 
夢の仕事に就くためのダーティ・リトル・シークレット」、 
来るべき女」有名なフェミニスト、ヴィクトリア・ウッドハルの生涯に基づく小説」、 
TheBoys in the Boat:9人のアメリカ人と1936年ベルリン・オリンピックでの金メダルへの壮大な挑戦」、 
StarvingHearts(三角貿易三部作、第1話)」、 
「スコット・ピルグリムのプレシャス・リトル・ライフ(スコット・ピルグリム#1)」、 
Ripit Up and Start Again」、 
OurBand Could Be Your Life:Scenes from the American Indie Underground, 1981 -1991」、 
メサエリオンベストSFストーリー1800- 1849'」。]

制限事項

  AutoScraperの主な制限の一つは、JavaScriptレンダリングや動的に読み込まれるデータをサポートしていないことです。しかしご心配なく、解決策があります!
Seleniumや Playwrightのような動的データを扱うPythonライブラリを使用することで、HTMLデータを取得し、Autoscraperに解析処理を任せることができます。
もし、あなたのターゲットウェブサイトがボット対策を採用している場合、ProxyScrape では、あなたのデータ収集プロセスを簡単かつ効率的にする、信頼できるウェブスクレイピングAPIを提供しています:  

import requests
from autoscraper import AutoScraper


def send_request(url_to_scrape):
    api_key = 'your_api_key' 
    data = {
        "url": url_to_scrape,
        "browserHtml": True  # Use browserHtml for JavaScript rendering
    }
    headers = {
        "Content-Type": "application/json",
        "X-Api-Key": api_key
    }

    response = requests.post("https://api.proxyscrape.com/v3/accounts/freebies/scraperapi/request",
                             headers=headers, json=data)

    #  we return the html data that web scraping api extracted
    return response.json()['data']['browserHtml']

if __name__ == '__main__':
    target_url = 'https://books.toscrape.com/'

    # get html data using web scraping api
    html_content = send_request(target_url)

    # parse that html data using AutoScraper
    scraper = AutoScraper()

    wanted_list = [
        "Tipping the Velvet",
        "Soumission",
    ]

    result = scraper.build(wanted_list=wanted_list, html=html_content)

    print(result)

AutoScraperとプロキシを使ったウェブスクレイピングのベストプラクティス

  • ウェブサイトの利用規約を尊重する:スクレイピングを行う前に、必ずウェブサイトの利用規約を確認し、遵守すること。
  • ローテーションプロキシ検出やレート制限を避けるには、IPアドレスを頻繁に変更するローテーション・プロキシを使ってください。ProxyScrape 、この目的に最適なローテーション・レジデンシャル・プロキシとモバイル・プロキシを提供しています。
  • リクエストのスロットル:人間の行動を模倣し、BANされるリスクを減らすために、リクエストの間に遅延を実装します。
  • アクティビティを監視する:プロキシの健全性とスクレイパーのパフォーマンスを定期的にチェックし、問題を特定して迅速に対処しましょう。
  • 常に更新ウェブサイトの構造やプロキシIPのローテーションの変化に対応するため、スクレイピングスクリプトとプロキシリストを常に更新してください。

結論

ウェブスクレイピングは、データ取得のための強力なツールであり、AutoScraperとプロキシを適切に組み合わせることで、その可能性を最大限に引き出すことができます。ProxyScrape'のプレミアムプロキシと統合することで、スクレイピング活動が効率的、匿名、かつ中断されることなく行われることを保証します。AutoScraper を使い始めるために必要な要素を提供しました。AutoScraper をより高度に使いこなしたい場合は、こちらの要点をご覧ください。

あなたのウェブスクレイピングゲームを向上させる準備はできていますか?ProxyScrape のプレミアムプロキシを使って、AutoScraper の機能を今すぐお試しください。訪問 ProxyScrapeにサインアップして、当社の最先端のプロキシソリューションをご利用ください。

ウェブスクレイピングでサポートが必要な場合は、お気軽にDiscordチャンネルに ご参加ください。

ハッピー・スクレイピング!