【Python/urllib】ユーザーエージェントを設定してHTML取得

Python標準ライブラリ「urllib」を用いて、ユーザーエージェントを設定してHTML取得する方法とソースコードについて紹介します。

ユーザーエージェント情報

ユーザーエージェント情報とは、Webサイトにアクセスする閲覧者の情報です。
Webページにアクセスする閲覧者は、ユーザーエージェント情報をサーバーへ送信できます。
Python3の標準ライブラリ「urllib」では、HTMLを取得する際に送信するユーザーエージェント情報を設定できます。

書式

opener = urllib.request.build_opener()
opener.addheaders = [(送信するユーザーエージェント情報)]
opener.open(url)

ソースコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8
import urllib.request
    
def main():
    # 取得先URL
    url = "https://algorithm.joho.info/" 

    # ユーザーエージェント情報を設定
    opener = urllib.request.build_opener()
    opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]

    # HTMLファイルを開く
    data = opener.open(url)
    
    # HTMLの取得      
    html = data.read()
    html = html.decode('utf-8')
    
    # 表示
    print(html)
    
    # HTMLファイルを閉じる
    data.close()
   
if __name__ == "__main__":
    main()

実行結果

サンプルプログラムの実行結果です。

b'<!DOCTYPE html>\r\n<html lang="ja">\r\n<head>\r\n<meta charset="UTF-8"・・・・・・
関連記事
1 PythonでHTML解析(パース)
2 Python入門 サンプル集
関連記事