Python3関連のことを調べてみた2020年09月27日

Python3関連のことを調べてみた2020年09月27日

初心者がPythonでウェブスクレイピング(4) – 2

それでは[前回](https://qiita.com/inoken0926/items/db1a828465019e205e5e)作成したCloud Source RepositroiesのリポジトリにスクレイピングのPGMを追加していきます。

#Pythonでのウェブスクレイピング学習のロードマップ
(1)ローカルでとりあえず目的のブツのスクレイピングに成功する。
(2)ローカルでスクレイピングした結果をGoogleスプレッドシートに連携する。
(3)ローカルでcron自動実行を行う。
(4)クラウドサーバー上での無料自動実行に挑戦する。(Google Compute Engine)
  (4)-1 クラウドにテスト用PGMを載せて、CloudShell上で正常稼働させる
  (4)-2 スクレイピングPGMをリポジトリに追加し、CloudShell上で正常稼働させる。 ←いまココ
  (4)-3 ComputeEngineのVMインスタンスを作成して、スクレイピングを自動実行させる。
(5)クラウド上で、サーバーレスでの無料自動

元記事を表示

DjangoでRest Apiを作成し、動作確認をする。

#はじめに
DjangoでRESTAPIを作る方法を学んだので、深く理解するために
さらに肉付けしてアウトプットします。
__今回環境構築の説明は省きます。__
__以下の記事で構築した環境を使っているので、必ず参照ください。__
https://qiita.com/hayashi0207/items/8bdc0c232c4203c92d6f
またあらゆる任意の名前は上記の記事で利用したものを前提にしていますので、あらかじめご了承ください。

#事前準備&環境
・Crome ModHeader
・Postman
・Anaconda Navigator
・PyCharm CE
・MacOS

#目次
1.モデルの作成
2.シリアライザーの作成
3.ビューの作成
4.動作確認
5.おまけ:APIをフロントエンドから利用できるように設定

#1.モデルの作成
モデルとはデータベースの設計、作成、操作(いわゆるORM)までをPythonでできるものです。
テーブル名はclass,カラムmodelsで提供されているフィールドを使用して定義していきます。
データ作成時間はauto_now_add=

元記事を表示

【plotlyの描画構造の話】plotlyで動的な可視化をする【python】

plotlyの構造について理解する話

#plotlyとは

plotlyはJavaScript,R,Pythonで利用可能な動的グラフを作るパッケージです

動的グラフというのは以下の様に動かすことができるグラフのこと

![aaa.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/275572/cbb55ca0-6738-83a9-f62d-449a6a68810d.gif)

他の関数と同じく指定された引数を用意することで動的グラフが簡単につくることができます
他のplotlyと区別するためJavascript「plotly.js」pythonは「plotly.py」と呼ばれたりもします

#plotlyの中身と動き

plotlyはpandasのようなデータフレーム、もしくはnumpyのarrayを一度json形式に変形して保持し、
javascriptによってhtmlとして実行・保存できるようになっています

テキストエディターで以下のようなhtmlを作成するとplotlyのbarplotが

元記事を表示

Pythonで正規表現を使ってASCII以外を置換する

この記事ではPython3を使っています。

#コード

“`test.py
import re

text = ”’挫折を経験した事がない者は、
A何も新しい事に0 1挑戦したことが無いということだ。
ヲabc123!=*Z
- アルベルト・アインシュタイン -”’
after = re.sub(‘[^!-~\\s]|[ ]’, ‘○’, text)

print (after)
“`

#実行結果

“`
○○○○○○○○○○○○○○
○○○○○○○○0 1○○○○○○○○○○○○○○○○
○abc123!=*○
-○○○○○○○○○○○○○○○○-
“`

#参考
* [Pythonでre.sub を使用して正規表現で平仮名、カタカナ、漢字を置換|dot blog](https://dot-blog.jp/news/python-re-sub-japanese/)
* [文字一覧 (ASCII) – instant tools](https://tools.m-bsys.com/data/charlist_ascii.php)
* [正規表現サンプル集](https

元記事を表示

Pythonの抽象クラス(ABCmeta)を詳しく説明したい

# 0.はじめに

Pythonの抽象クラスが思いのほか特殊だったので
メタクラスの説明も踏まえて少しばかり丁寧に解説したい

# 1.ABCmetaの基本的な使い方

PythonのAbstract(抽象クラス)は少し特殊で、メタクラスと呼ばれるものに
ABCmetaを指定してクラスを定義する(メタクラスについては後ほど説明)

“`python
from abc import ABC, ABCMeta, abstractmethod

class Person(metaclass = ABCMeta):
pass
“`

ちなみにABCクラスというのもあってこちらはmetaclassを指定せず
継承するだけなので基本こっちの方が分かりやすい

“`python
class Person(ABC):
pass
“`

抽象化したいメソッドに@abstractmethodを付ける

“`python
@abstractmethod
def greeting(self):
pass
“`

継承したクラスで実装する

“`python
class

元記事を表示

[2020年9月版] PythonでGmail APIを利用するまでの手順を解説

今回はPythonでGmail APIを利用するまでの手順を解説します。
Gmail API を利用するまでに、APIを有効化したり、認証情報を作成したり、ライブラリをインストールしたりとやることが多いので、備忘録として書きました。
# Google Cloud PlatformでGmail APIを有効化
 Gmail APIを利用するにはGoogle Cloud Platform(GCP)でAPIを有効化する必要があります。GCPにはこちら( https://console.cloud.google.com/ )からアクセスしてください。

初めてアクセスすると下記の画面が出てくると思うので利用規約に同意し、「同意して実行」をクリックしてください。
![Gmail API1 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/646368/e4187430-dfcf-6eff-171c-678cb9c33ce3.png)

「プロジェクトの選択」から
![Gmail API2 (2).png](h

元記事を表示

Pythonで、ファイルの書き出しと出力

### Pythonで、ファイルの操作をする。
簡単ですが、ファイルの操作のコードです。

### 実行したソースコード
“`python

import string

with open(‘directly_folder/sample.html’) as f: #sample.txtでも可能
t = string.Template(f.read())
contents = t.substitute(name=’your nickname’,contents=’favorite phase?’)
print(contents)
“`

ディレクトリーファイルを作って、フロントエンドとバックエンドのファイルを管理する認識だと思います。
合ってますでしょうか?
以下のコードがファイルの場所と内容を示すコードです。

“`python
copy sample.py folder/directly_folder
#ターミナルでコマンドする
“`
### エラーへの対処に困っています。
ファイルは、Pycharmでみれますが、エクセルシートへの出力ができません。
import

元記事を表示

pythonの環境設定(virtualenv+pipができない)

こんにちはpython初心者でdjangoでappを制作しようとしているものです。(python3系での開発)
anaconda + djangoでもできるみたいですが、情報が少ないので後々チャレンジします。まずpyenv、virtualenv、pip、anacondaの違いを確認。
https://mycodingjp.blogspot.com/2018/12/python-venv-virtualenv.html
https://oversleptabit.com/archives/2195
https://qiita.com/caad1229/items/325ca5c8ad198b0ebce7
virtualenv+pipで行くことを決意しました。公式サイトではvenvコマンドで仮想環境を作ってました。それでもできたんですが、一旦は置いておきます。
https://www.python.jp/install/macos/virtualenv.html

“`
% python -V
“`
で自身のpcのバージョン確認。私は2系がすでに入っていました。2系はサポート終了なので

元記事を表示

MediaWikiAPIを使用して、Wikiの情報を取得してみるよ

おはよう:relaxed:
wikipediaの情報を取得したい時ってあるよね。
そんな時に使えるMediaWikiAPIを使ってみるよ。

###MediaWiki APIとは?
wikiへのログイン・ページの追加や更新、検索などwiki機能を利用することができる
>[公式: MediaWikiAPI](https://www.mediawiki.org/wiki/API:Main_page)

###APIの基本形

“`
API: https://ja.wikipedia.org/w/api.php
“`

上記URLにparameterの「action」として処理のタイプを持たせることで、検索や更新などいろいろな機能を利用することができるよ。
今回は、基本の「取得(action=query)」のWiki情報を検索して取得する方法を学ぶよ。

###ページタイトルを指定して、そのページの情報を取得する場合は titles=XXXを設定

“`python:getWikiData
import requests
import json

def getWikiData

元記事を表示

【Python】長テーブルのうなぎ屋

##1.問題

円状になったテーブル(テーブル数n)に何人が座る事ができるかを求める問題。
グループの内、一人でも座れない場合そのグループは帰ってしまう。

入力はm+1行から成る。
1行目にはn(座席数)とm(グループ数)が半角スペース区切りで入力される。
i+1行目(1≦i≦m)には2個の整数a_i(グループの人数)とb_i(着席開始座席番号)が半角スペース区切りで入力される。

条件
全てのテストケースにおいて、入力される値は以下の条件を満たす。
1≦n≦100
1≦m≦100
1≦a_i≦n
1≦b_i≦n

![951A057A-C7C6-4595-ADBF-2CBC7D6FC8E0.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689780/8b9fbb4d-7db9-bfb8-f168-8a4e93fe5333.jpeg)

##2.考えた方法

__`(1)テーブル番号`__

あるグループiがk人おり、b_i番テーブルから座る時
このグループは

b_i,…,b_(i+k

元記事を表示

総務省「日本産業分類」CSVをあるだけ取ってくる

##はじめに
にゃーん??
総務省「日本産業分類」CSVをあるだけ取ってくるやつです。

##このコードは何がいいのか
[日本標準産業分類](https://www.soumu.go.jp/toukei_toukatsu/index/seido/sangyo/index.htm)
– 階層がちょっと深い
– 現行と過去があって提供コンテンツにばらつきがある
– マーケティング実務で役に立つ=ほしいのは、最新の「分類項目名」CSVだけ
– 日本標準産業分類は数年おきに改定がある=ほしい先のURLが変わる
– ファイル名の採番がお役所独自のもので覚えていられない
– ソースコードを少し変えれば、公開されているPDFも取得できる

##動作環境
– Python 3.7.3
– Debian GNU/Linux 10 \n \l (#RaspberryPi 4)

##コード開陳
“`
#!/usr/bin/env python3
# coding: utf-8

### import

import os
import re
import sys
import requests
from

元記事を表示

Splunkのダウンロードリンクをスクレイピングで取得

# 1.インストーラのダウンロードリンクを取得したい
業務でSplunkの検証環境をサクっと作りたいときに、AWSのEC2を利用しています。
建てたり壊したりをCloudFormationで自動化した際に、Splunkのインストーラについてダウンロードリンクを毎回サイトまで取りに行かないといけません。
そのリンク取得作業がなかなかに面倒なので、Pythonでスクレイピングを実装することにしました。

# 2.使用する機能や技術
– Python 3.8
– AWS Lambda
– AWS API Gateway

API GatewayやLambdaへのコード実装は、先人の方がQiitaにたくさんナレッジを落としてくれているので、本記事では割愛します。
以下が参考にさせて頂いた記事になります。

[【Python】AWS Lambdaで外部モジュールを使用する](https://qiita.com/SHASE03/items/16fd31d3698f207b42c9)
[AWS Lambdaで簡単なREST APIを作ってみた](https://tech-cci.io/archive

元記事を表示

Python(Colab)でウェブ上の画像をドライブに保存する

下記の写真をドライブに保存するコードです。

https://www.pakutaso.com/shared/img/thumb/nyannko458A3685_TP_V.jpg
![nyannko458A3685_TP_V.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/428239/657275c2-d4d6-e376-0ea7-938173a68573.jpeg)

前提としてColabで実行するコードで、
Pythonでやる場合はGCPでOAuthの設定が必要です。

# ドライブの認証を通す

“`python:Colabでの認証
from google.colab import auth
auth.authenticate_user()

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from oauth2client.client import GoogleCredentials

ga

元記事を表示

Anacondaで仮想環境を作り、PyCharmと紐付ける。

#はじめに
DjangoでRest Apiを作りたい。
その思いからUdemyやQiitaから自分用に仮想環境の構築方法をまとめました。
Pythonでの動作確認も記事にしましたので興味のある方はご覧ください。

#事前準備&環境
・Anaconda Navigator
・PyCharm CE
・MacOS

#目次
1.仮想環境を作成
2.フレームワーク等のインストール
3.PyCharmと紐付け
4.動作確認

#1.仮想環境の作成
仮想環境の作成はとても簡単です。

Anaconda Navigatorを起動します。
![スクリーンショット 2020-09-25 15.51.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703431/16f3e972-ec57-eaa2-b80d-f04c50c34c69.png)

[Enviroments]を選択し、[Create]を押します。
![スクリーンショット 2020-09-25 15.52.20.png](https://qiita-imag

元記事を表示

初心者がPythonでウェブスクレイピング(4) – 1

今回は[前回](https://qiita.com/inoken0926/items/65be0fabee0752d02658)のスクレイピングプログラムをクラウドに載せて自動実行させることを目指しますが、まずはクラウドにテスト用PGMを載せて、正常稼働させるところまで持っていきます。

#Pythonでのウェブスクレイピング学習のロードマップ
(1)ローカルでとりあえず目的のブツのスクレイピングに成功する。
(2)ローカルでスクレイピングした結果をGoogleスプレッドシートに連携する。
(3)ローカルでcron自動実行を行う。
(4)クラウドサーバー上での無料自動実行に挑戦する。(Google Compute Engine)
  (4)-1 クラウドにテスト用PGMを載せて、CloudShell上で正常稼働させる ←いまココ
  (4)-2 スクレイピングPGMをリポジトリに追加し、CloudShell上で正常稼働させる。
  (4)-3 ComputeEngineのVMインスタンスを作成して、スクレイピングを自動実行させる。

元記事を表示

Pythonによる画像処理100本ノック#6 減色処理

## はじめに
どうも、らむです。
今回は画像中の色の数を減らす減色処理を実装します。
ちなみに、前回から一本飛んでいるのはどうしても5本目のHSV変換が実装できなかったからです。

## 6本目:減色処理
減色処理はその名の通り、色の数を減らす処理のことです。
通常の画像ではBGRでそれぞれ[0:255]の256色が存在し、1つの画素値で$256^3 = 16,777,216$色の組み合わせがあります。
今回の処理ではBGRそれぞれに[32,96,160,224]の4色、1つの画素値で$4^3 = 64$色に減色します。

今回、減色は以下の式に従って行います。

“`
pix = { 32 ( 0 <= pix < 64) 96 ( 64 <= pix < 128) 160 (128 <= pix < 192) 224 (192 <= pix < 256) ``` ## ソースコード ```decreaseColor.py import numpy as np import cv2 import matplotlib.p

元記事を表示

Pythonで、日時と時間、秒単位を表すには

### Pythonで学習したこと
Python認定技術者に向けて勉強しています。
実際にコードがどのように役立つかについてですが、
使う人の側にたったコードを試したいです。
### 実践したコード
“`python

import datetime

now = datetime.datetime.now()
print(now)
print(now.isoformat())
print(now.strftime(‘%d/%m/%y-%H%M%S%f’))

today = datetime.date.today()
print(today.isoformat(‘%d/%m/%y’))

t = datetime.time(hour=1, minute=0,second=5,microsecond=100)
print(t)
print(t.isoformat())
print(t.strftime(‘%H%_M_%S_%f’))

print(now)
d = datetime.timedelete(weeks=1)
#d = datetime.timedelete(days=1

元記事を表示

特定のキーワードを含むツイートを毎日収集してcsvに保存するPythonプログラム

## 目的
ツイッターなどのSNSの情報が新型コロナウイルス感染クラスタの発生リスクモニタリングに使えないかというアイデアがあり、「今日 飲み会」などのキーワード検索によるツイートの収集を行いたい。無料の検索APIでは1週間前のツイートしか遡れないので、今後の研究に活かせる可能性を考えて毎日データを自動で取れる仕組みを構築する。

新型コロナウイルス感染クラスタの発生リスク評価に使える検索ワードの良いアイデアがあれば是非コメント下さい!

## 参考URL
本家
https://developer.twitter.com/en/docs/twitter-api
とてもわかりやすかった解説サイト
https://gaaaon.jp/blog/twitterapi
本記事が上記リンクでいうところの「やってみた系自己満コード」にすら達していないのが悲しいので、場合によっては記事を非公開にするかもしれない。

## 方法
下記の`nomikai_tweets.py`を実行する。

“` python
# coding: utf-8
# nomikai_tweets.py

im

元記事を表示

Docker+Python3+Ubuntu16でOpenFaceを動かす

#概要
Python3+Ubuntu16.04でOpenFaceを動かせる環境(Dockerイメージ)を作成して、コンテナ上でOpenFaceのサンプルコードを動かしてみる。

## OpenFaceとは

>Carnegie Mellon University.のBrandon Amos氏が作成している、
ディープニューラルネットワークを用いた顔認証に特化したオープンソースになります。
PythonおよびTorch実装であり、CVPR 2015に基づいているとのこと。
下記にアルゴリズムの概要やリリースノートがまとめられております。
https://cmusatyalab.github.io/openface/

>OpenFaceのアルゴリズムですが、
 (1)dlibまたはOpenCVによる事前トレーニングされたモデルで顔を検出
 (2)OpenCVのアフィン変換とdlibのリアルタイムポーズ推定を利用して顔内の目と下唇の位置が同一となるように変換
 (3)ディープニューラルネットワークを用いて128次元のユニット超球上の顔を表現(または埋め込み)を行い、クラスタリング、類似性

元記事を表示

Python触ってみた(基本構文編)

# はじめに
[Python触ってみた(インストール編)](https://qiita.com/ok2/items/2964ebfb8254b465e77d)の続き

# 事前に確認&やっておくといいこと
– 仮想マシンにSSHで接続すると日本語が文字化けしてしまいました。
– 調べたら以下の記事が困っていたことにドンピシャでした!
– [SSH環境下のCentOSで文字化けした場合の対処法](https://qiita.com/Dakini/items/a9eb4546c38a6c8a9518)

“`console:仮想マシン
# 状態確認 → VC Keymapがusになっている
$ localectl status
System Locale: LANG=ja_JP.utf8
VC Keymap: us
X11 Layout: n/a
# VC Keymapをjp106に更新(sudoつけて実行)
$ sudo localectl set-keymap jp106
# 再度状態確認 → VC Keymapがjp106に更新
$ loca

元記事を表示

OTHERカテゴリの最新記事