レッスン1 / 1問目

『requestsでwebのデータを取得しよう』

スクレイピングには以下の二つの工程があることを説明しました。

ここでは、1の「web上からデータを取得」の工程で使用するrequestsモジュールについて学習していきましょう。本レッスンではrequestsの概要と使い方を見ていきます。

なお、本レッスンでは以下のサンプルページを使用します。

サンプルページ

https://manage.leagence-prog.com/sample1/

requestsの概要

requestsはPythonのHTTP通信ライブラリであり、本レッスンではweb上からデータを取得することを目的として使用します。

標準ライブラリにも同じ機能を持つurllibがありますが、requestsの方が、高機能でありシンプルなコードを記述することができるという点から当サイトではrequestsを紹介します。

requestsの使い方

ではrequestsの使い方を見ていきましょう。

まずはrequestsモジュールをインポートします。

  1. import requests

そしてrequests.get()を使いwebページを取得します。引数にURLを渡すとそのページ情報を持ったオブジェクトが作成されます。

  1. r = requests.get("https://manage.leagence-prog.com/sample1/")

作成されたオブジェクトからHTMLを取得するにはtextプロパティを記述します。
以下のようにr.textと記述するとオブジェクトからHTMLを取得することができます。

  1. print(r.text)    # HTMLを取得
<!DOCTYPE html>    # 取得したHTML <html> <head> <title>スクレイピングのサンプルページ1</title> <meta charset="UTF-8"> <meta name="robots" content="nofollow"> <style> .container { width: 70%; margin: 50px auto; text-align: center; } </style> </head> <body> <div class="container"> <h1>スクレイピングを学習しよう。</h1> <p>スクレイピングは素晴らしい技術です。</p> <p><a href="https://leagence-prog.com/scraping_sample/2/">スクレイピングを学びたい方はこちら</a></p> </div> </body> </html>

    https://manage.leagence-prog.com/sample1/のHTMLを取得することができました。

    ではこのレッスン以上となります。演習課題では上記の例題と同じようにHTMLの取得にチャレンジしてみましょう。

    Lesson1

    まずはrequestsをインポートしてください。

    Lesson2

    以下のwebページを取得し、HTMLを出力してください。

    # 本レッスンではレッスンに必要のないコードや別のURlに対するrequestsは実行できない仕様になっています。
    また、URLは変数を使用せず、直接requests.get()の引数に書き込んでください。

    Last updated:2020/1/25

    <!DOCTYPE html>
    <html>
    <head>
        <title>スクレイピングのサンプルページ1</title>
        <meta charset="UTF-8">
        <meta name="robots" content="nofollow">
        <style>
            .container {
                width: 70%;
                margin: 50px auto;
                text-align: center;
            }
        </style>
    </head>
    
    <body>
    <div class="container">
    <h1>スクレイピングを学習しよう。</h1>
    <p>スクレイピングは素晴らしい技術です。</p>
    <p><a href="#">スクレイピングを学びたい方はこちら</a></p>
    </div>
    </body>
    </html>
    1. # 1. requestsをインポートしてください
    2. import requests
    3. # 2. 指定したwebページのHTMLを出力してください。
    4. r = requests.get("https://manage.leagence-prog.com/sample1/")
    5. print(r.text)
    main.py
    設定
    g
    n
    i
    d
    a
    o
    L