エビフライの唐揚げ

今までのことや、技術的なこと、その他を書いていこうと思います。

企業の偏差値出してみた!【スクレイピング&解析】

・自分の大学だとどれくらいの企業に入れるのか
・自分の会社はどれくらいの偏差値なのか

を調べるべく、スクレイピング&解析で企業の偏差値を出してみた

1.大学の偏差値リストを作る

マナビジョンがソース元
エクセルに貼り付けて、csvに変えたあと整形した
大学が同じでも、学部によって偏差値が異なる場合があるため
すべての学部の平均をその大学の偏差値とした

manabi.benesse.ne.jp


2.企業の採用実績校を調べる

マイナビ2022がソース元
前年の採用データの採用実績に大学名があるので、それをソース元とした

job.mynavi.jp

 

3.解析

採用実績に含まれている大学を元に大学の偏差値リストから偏差値を引っ張ってきて
偏差値の平均を出す
以上

 

4.完成品

f:id:littlemore:20210211153332p:plain



kigyouhensati-f5d42.web.app

 

 

coconalaでシステム開発サービスを販売してます!こんな感じのものであれば、ちゃちゃっと出来ます。良かったらどうぞ!

coconala.com

 

 

 

ツイキャスやLINE LIVEの配信をスマホでバックグラウンドで録画、保存するツールを作った!【説明】

注:

現在はAndroidのみ対応しています

対応配信サイトは

ツイキャス

・ラインライブ

です。(ふわっちなど、要望があれば対応するかもしれません)

PC版は今の所ありません、需要があれば作ります

(要望や不具合などあればコメントください)

 

1.スマホFFmpeg Media Encoderをインストールする

(これが配信保存用のソフトになります)

play.google.com

 

 2.配信サイトのURLをコピーする

ツイキャスの場合

f:id:littlemore:20210103163427j:plain

f:id:littlemore:20210103163430j:plain

f:id:littlemore:20210103163435j:plain

 

・ラインライブ(LINE LIVE)の場合

 

f:id:littlemore:20210103165153j:plain

f:id:littlemore:20210103165156j:plain

 

 

3.URLを配信保存用コマンドに変換する

2でコピーした配信サイトのURLと保存するファイル名を入力してくだい

(ファイル名はなんでも大丈夫です)

liverecordchan.web.app

 

2でコピーした配信サイトのURLを貼り付けます

f:id:littlemore:20210103165349j:plain

 

「コマンドへ変換」ボタンを押すと、貼り付け用コマンドが表示されるのでコピーします

f:id:littlemore:20210103165353j:plain

 

4.コマンドを貼り付けて録画開始!

1でインストールしたFmpeg Media Encoderをひらき、

ボタンを押し、画面を切り替えます

f:id:littlemore:20210103165604j:plain

 

コマンドがすでに入力された状態なので削除します

f:id:littlemore:20210103165448j:plain


配信録画ちゃんの貼り付け用コマンドを貼り付け、

右下の緑のボタンで録画を開始します

f:id:littlemore:20210103165451j:plain

 

録画を停止する場合は、右下の赤いボタンを押してください。

配信が終了すれば自動で止まります。

 f:id:littlemore:20210103165454j:plain

 

5.録画を停止、完了したら

Googleフォトなどで見れるようになっています!

f:id:littlemore:20210103165927j:plain

 

 

Python-Anacondaの実行環境を構築する【環境変数】

Pythonの実行環境を構築する際に環境変数の設定は必須です

1度設定してあり、別のパソコンに設定する際になんか色々詰まったのでメモしておきます

Anacondaを「C:\ProgramData」にインストールした場合のパスなので、インストールした場所が違う方は、置き換えてください

 

C:\ProgramData\Anaconda3

pythonを実行するために必要

 

C:\ProgramData\Anaconda3\Scripts

pipを実行するために必要

 

C:\ProgramData\Anaconda3\pkgs\openssl-1.1.1d-he774522_4\Library\bin

pipでライブラリをインストールする際に必要な場合がある

 

C:\ProgramData\Anaconda3\Library\bin

numpyを使用するために必要(他のライブラリも必要な場合があると思われる)

Firebaseを捨てた話

Firebaseを捨てました(捨ててない)

移行前
https://matometerminal.web.app/

 

移行後
https://matometerminal.herokuapp.com/

 

SPAに問題があるなと思ったんです

SPAというか、リアルタイムレンダリングなしで、全てAPIで情報引っ張ってくる感じです
googleにサイトを認識してもらう際に、クローラーが自身のサイトを訪れてスクレイピングしていくらしいんですが
その際に、非同期通信でサイトを更新するとちゃんと情報を持っていってくれないということが、問題です

 

そうですよね、非同期通信が終わったかどうかなんてクローラーが分かるわけ無いですからね
人間なら、ローディングアニメーションとかで読込中だってことがわかるけれど。。。

 

本当は、はじめVue.JsのNuxt.jsを使ってフロントエンドを作ろうと思ったんです

しかし、調べてみると結構面倒くさそうだったのです

 

しかも、構文を見ていくとDjangoレンダリングと似てるんです
実際Djangoレンダリングってあまり使ったことなくて

 

せっかくDjangoレンダリング出来る機能があるのに使わずWebAPIだけ作って
Nuxt.jsに投げてそっちで処理するってのも二度手間だと思ったので
Djangoレンダリング機能を使って、サーバサイドレンダリングしました。


考えれば考えるほどDjango+Nuxt.jsを使ってウェブアプリを作ってみた!とか謎ですね

バックエンドエンジニアとフロントエンドエンジニアが別れて作業するならまだしも
1人でやってるような記事をよく見かけるので。

 

まぁ、自分がちゃんとNuxt.jsを理解できてないからでしょうか。。。
1年後には何言ってんだ自分ってなるくらい成長できると良いな

【超軽量】Pythonで文章の類似度を調べる

超軽量(辞書なし)で文章の類似度を比較できるコードを書きました

 

コードは下記の通り

import tinysegmenter


def seach(sentence1, sentence2):
    segmenter = tinysegmenter.TinySegmenter()

    words1 = segmenter.tokenize(sentence1)
    words2 = segmenter.tokenize(sentence2)

    words1 = list(filter(lambda x: len(x) > 1, words1))
    words2 = list(filter(lambda x: len(x) > 1, words2))
    
    denominator = (len(words1) + len(words2)) / 2

    molecule = len(set(words1) & set(words2))

    return molecule / denominator

 

使い方(類似度が最大1で返ってきます。下記では、0.6以上の一致度を表示しています)

import doc_similar
import csv

hikaku = "比較したい文章"

with open(r'article.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        similar = doc_similar.seach(hikaku,row[1])#ここで比較実行
        if similar > 0.6:
            print(row[1]+','+str(similar))

 

1.コードについて

ほぼ、「tinysegmenter」に頼ってます、こいつの紹介になるのかもしれないです
「tinysegmenter」はロジックで形態素分かち書きしてくれるライブラリです
もちろん、これを使う前に「pip install tinysegmenter」してくださいね

 

2.軽量であることの利点

形態素解析というと、MeCabやらJanomeが有名ですが、どれも辞書基準で形態素解析をしています
そのため、重いんですよねMeCabの最新の言葉とか取り入れた辞書なんて1GB弱で、ただファイルサイズが大きいだけならまだしも
メモリ上に展開するので動作環境によっては厳しいんです。
無料の環境(HEROKU)とかね


3.作った経緯

何か大きい事件やら起きるとテレビもニュースサイトでもずーーーっと同じ内容の記事が出まくりますよね
それがうざったいのでフィルタを掛けたかったのです

f:id:littlemore:20200723101440p:plain


4.課題点

もっとも、ちゃんと比較するには「Doc2Vec」とか使ったほうが良いでしょう
「Word2Vec」では学習モデル作ったり結構大変でした。

ドラクエの武器屋っぽいアフィリエイト/ECサイトを作ってみた

ドラクエの武器屋っぽいアフィリエイトECサイトを作ってみた

 

武器屋

https://rpg-bukiya.web.app/

 

f:id:littlemore:20200723112956p:plain


いわゆるSPAなんだと思います。

SPAを作ろうとして作ったわけではないんですが、ゲームの中に入ったようで面白いなと思って作りました

 

htmlとjavascriptのみで作成しました

なので、公開されているものがすべてですね

 

買うを押せば実際に購入できます(Amazonに飛びます 即購入ではないのでご安心を)
まぁー、コスプレ用の小道具だと思うんで、こんなのこんなサイトから買う人なんて。。。

道具屋を作って、栄養ドリンクでも売ったら面白いかなとも思いました


あと、パクられるのは好きじゃないんでやめてください
技術紹介だとか、コピペOKだとか書いてある記事のものは全然パクってもらっていいですけれど
ちゃんとサイトとして紹介してるのはNGです

多分、ポートフォリオ的な感じです
面白いなって思う人が居ても、技術的にはヨワヨワの技術なので