5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
aliceさんの投稿
(投稿ID: 5417)
【やったこと】
・引数に法人番号をわたしてその法人が適格請求書発行事業者登録されているか確認する
(適格請求書発行事業者登録公表サイトにリクエストを送ってスクレイピングする)
https://www.invoice-kohyo.nta.go.jp/index.html
適格請求書発行事業者登録として登録されている→法人名を返す
適格請求書発行事業者登録として登録されていない→この番号は登録されていませんと返す
引数のdefaultには自分の職場の法人番号を入れて実行しています。
私の職場では先月登録申請をしたのですが、「もう登録できたの?」とよく聞かれるので遊んでみました。
【感想】
・PyCharmを起動して実行するよりもはやい
・コマンドラインで入力している自分にうっとりするლ(╹◡╹ლ)
・慣れてくるといろんなことをコマンドラインから実行したくなる、楽しい
[code python]
import argparse
import requests
from bs4 import BeautifulSoup
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-code', type=int, default=9360001000343, help='法人番号を入力してください') # 沖縄サントリー株式会社
return parser.parse_args()
def check_invoice_register():
args = parse_args()
code = args.code
url = 'https://www.invoice-kohyo.nta.go.jp/regno-search/detail?'
response = requests.get(url, params={'selRegNo': code})
soup = BeautifulSoup(response.text, 'html.parser')
text = soup.find('h1').text
for value in ['\n', '\t', '\r', ]:
text = text.replace(value, '')
if text == 'エラー情報':
print('この番号は登録されていません')
else:
print(f'{text[:-3]}は登録されています')
if __name__ == '__main__':
check_invoice_register()
[/python]
aliceさんのコメント
(コメントID: 7946)
小川 慶一さんのコメント
(コメントID: 7947)
>・PyCharmを起動して実行するよりもはやい
>・コマンドラインで入力している自分にうっとりするლ(╹◡╹ლ)
>・慣れてくるといろんなことをコマンドラインから実行したくなる、楽しい
おめでとうございます (^^*
理解できること、使いこなせることが増えてくるって、楽しいですよね v(^^*
小さいプログラムなのであまりコメントはありませんが、あえて言うなら、
-code は --code のほうが良いです。
ハイフン1つはアルファベット一文字の引数用、ハイフン2つは単語用というのがUNIX のコマンドラインの作法なので。
なので、たとえば以下の書き方で。
これだと、--code, -c 両方で表現可能です。
aliceさんのコメント
(コメントID: 7948)
>-code は --code のほうが良いです。
ありがとうございます。
書き換えました。
>ハイフン1つはアルファベット一文字の引数用、ハイフン2つは単語用というのがUNIX のコマンドラインの作法なので。
忘れないようにコメントで入れました。
勉強になりました!