日曜エンジニアのIT道場
ITを学び、DXに備える
    Python

    Pythonでスクレイピングする方法【サンプルコード】

    Pythonでスクレイピングをする方法をサンプルコードでご紹介します。

     

    スクレイピングとは

    スクレイピングとは、ウェブサイト上の文字や画像など「データを取得する技術」です。

    webスクレイピングとも言われます。

     

    例えば、Yahooニュースの見出しを取得することができます。

    アプリを作ったり、データの記録などにも使える便利な技術です。

     

     

    webスクレイピングの注意点

    webスクレイピングには注意点があります。

    当該のウェブサイトの規約に「スクレイピング禁止」と謳ってっている場合があります。そのようなサイトではスクレイピングはやめましょう。

    スクレイピングをするということは、データ通信が行われます。多量のアクセスがおきるとシステムダウンにもつながるものです。過去には図書館のウェブサイトに大量アクセスをしてシステムダウンを起こしてしまった事件もあります。

    岡崎市立中央図書館事件

    スクレイピングが禁止されていないウェブサイトでも、スクレイピングの回数は極力減らすようにしましょう。

     

     

    サンプルコード

    それでは、スクレイピングのサンプルコードを2つご紹介します。

    1. 取得したデータを「ターミナルに表示する」プログラム
    2. 取得したデータを「テキストファイル」に保存するプログラム

     

    ①ターミナルに表示するプログラム

    以下にスクレイピングしたデータを「ターミナルに表示するサンプルコード」をご紹介します。

    #インターネットにアクセスするためのライブラリをインポート
    import requests
    
    #URLを指定する
    url = 'https://◯◯.com'
    
    #データの取得処理
    response = requests.get(url)
    
    #文字化けを防ぐ処理
    response.encoding = response.apparent_encoding
    
    #取得した文字を表示する処理
    print(response.text)

     

     

    ②HTMLタグをテキストファイルで保存するプログラム

    以下に、すべてのHTMLタグを「テキストファイルとして保存するサンプルコード」を貼ります。

    #インターネットにアクセスするためのライブラリをインポート
    import requests
    
    #URLを指定する
    url = 'https://◯◯.com'
    
    #データ取得処理
    response = requests.get(url)
    
    #文字化け防止の処理
    response.encoding = response.apparent_encoding
    
    #データを保存するファイル名を指定する
    filename = 'scraping.txt'
    
    #データを保存するファイルを開く
    f = open(filename, mode= 'w')
    
    #取得したデータを書き込む処理
    f.write(response.text)
    
    #ファイルを閉じる処理
    f.close()

     

     

    実行はGoogleColaboratoryがおすすめ

    Pythonの実行に便利なウェブサイトをご紹介します。

    GoogleColaboratoryは、ブラウザでPythonが実行できるウェブサイトです。

     

     

    スクレイピング学習におすすめの本

    最後にスクレイピング技術の学習におすすめの本をご紹介します。

    以下にアマゾンのリンクを貼っておきます。