スパゲティコード

日付、時間をハイフンなしで取得(2018072817)を

from datetime import datetime
import re

now = datetime.now()
now = str(now)
slice = now[0:13]
time = re.sub("-","", slice)
time = re.sub(" ","", time)
print(time)

これはあかんわw
[vagrant@localhost python]$ python time.py
2018072817

from datetime import datetime
print(datetime.strftime(datetime.now(), "%Y%m%d%H"))

2行になりました。

[vagrant@localhost python]$ python3 time.py
2018072817

import urllib.request
from datetime import datetime

time = datetime.strftime(datetime.now(), "%Y%m%d%H")

url = "https://www.jma.go.jp/jp/amedas/imgs/temp/000/"+ time +"00-00.png"
print(url)

[vagrant@localhost python]$ python3 app.py
https://www.jma.go.jp/jp/amedas/imgs/temp/000/201807281700-00.png
なるほど。
あれ、まてまてまて、17時って、centos、3時間づれてるぞ。

[vagrant@localhost python]$ date
2018年 7月 28日 土曜日 17:59:52 JST

こうなる、と。

import urllib.request
from datetime import datetime

time = datetime.strftime(datetime.now(), "%Y%m%d%H")

url = "https://www.jma.go.jp/jp/amedas/imgs/temp/000/"+ time +"00-00.png"
savename = "image/amedas.png"

urllib.request.urlretrieve(url, savename)
print("保存しました")

あれ?
[vagrant@localhost python]$ strings /etc/localtime
TZif2
TZif2
JST-9

python3 datetime

import datetime
print(datetime.date.today())

[vagrant@localhost python]$ python3 time.py
2018-07-28

ハイフンを失くしたい。

today = datetime.date.today()
print(type(today))

[vagrant@localhost python]$ python time.py

from datetime import datetime
import re

now = datetime.now()
print(str(now))

[vagrant@localhost python]$ python3 time.py
2018-07-28 16:14:29.145644

import datetimeはdatetimeからimport
from datetime import hogeはdatetimeのhogeからimport
from datetime import datetimeだとややこしいね。

python3でアメダス

import urllib.request

url = "https://www.jma.go.jp/jp/amedas/imgs/temp/000/201807281500-00.png"
savename = "image/amedas.png"

urllib.request.urlretrieve(url, savename)
print("保存しました")

201807281500のところは自動で出力したい。

python2とpython3を使えるようにしよう

[vagrant@localhost ~]$ python -V
Python 3.5.2
[vagrant@localhost centos6]$ python
Python 3.5.2 (default, Jul 28 2018, 11:25:01)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
[vagrant@localhost centos6]$ python3
Python 3.5.2 (default, Jul 28 2018, 11:25:01)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

時間かかった~ 2日くらい

import urllib.request

url = "http://hogehoge/img/hoge.png"
savename = "test.png"

urllib.request.urlretrieve(url, savename)
print("保存しました")

[vagrant@localhost python]$ python3 app.py
保存しました

おおおお、
では、ヤフオクのmacbookを取得します。

import urllib.request

url = "https://wing-auctions.c.yimg.jp/sim?furl=auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/dr000/auc0407/users/6ba85c7e48fb6a8607eca71d0b7b7d6113140ce8/i-img1100x983-1532495826yzd18p69701.jpg"
savename = "mac.png"

urllib.request.urlretrieve(url, savename)
print("mac book")

[vagrant@localhost python]$ python3 app.py
mac book

OK

うん、ヤフオクだと、商品画像のアルゴリズムがよくわからんな。
img1100x983が画像サイズでしょうね。
6ba85c7e48fb6a8607eca71d0b7b7d6113140ce8
i-img1100x983-1532495826yzd18p69701.jpg

.bashrc

bashrcとは

bashは「シェルの種類のひとつで、shをパワーアップしたシェル」。
(ログインした後に画面上から)bashを起動したときに読み込まれる設定ファイル
シェルはsh、bash、csh、ksh、tcsh、zshなど

vi ~/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

ログイン時に「.bashrc」は読み込まれません。
ログイン時には「.bash_profile」というファイルが読み込まれます。

 .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
source ~/.bashrc

source ~/.bashrcとすると、.bashrcを読み込む。もちろん、source ~/.bash_profileで、bash_profileを読み込む

痛恨のミスから回復(Excel VBA)

1.フォームを立ち上げる

2.フォームに入力して、登録ボタンを押すと、、、
Excelに反映!

なんやねん、いけるやんけ。onClickでフォームの値はnullにする。

Private Sub CommandButton1_Click()
 With Worksheets("Sheet1")
  lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  .Cells(lastRow, 1).Value = title.Text
  .Cells(lastRow, 4).Value = description.Text
  .Cells(lastRow, 5).Value = keyword.Text
  .Cells(lastRow, 7).Value = image.Text
 End With
 title.Text = ""
 description.Text = ""
 keyword.Text = ""
 image.Text = ""
End Sub

痛恨のミス

しまったー、VBA勉強するの忘れたー
VBAというか、ユーザーフォームね。
おいおいおい、困ったぞー、徹夜はきついぞー

formのtitleはCaptionで変えられる。今回は「突貫工事」にした。

ExcelのカラムをTitle, description, keyword, Imageとし、UserForm1も同様に、Title, description, keyword, Imageをつくる。

command buttonを押したとき

Private Sub CommandButton1_Click()
 With Worksheet("Sheet1")
  lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  .Cells(lastRow, 1).Value = title.Text
  .Cells(lastRow, 2).Value = description.Text
  .Cells(lastRow, 3).Value = Keywords.Text
  .Cells(lastRow, 4).Value = image.Text
 End With
End Sub

no module named requests

[vagrant@localhost python]$ pip list
Package Version
————– ———
beautifulsoup4 4.6.0
certifi 2018.4.16
chardet 3.0.4
idna 2.7
libxml2-python 2.9.7
pip 18.0
requests 2.19.1
setuptools 38.5.2
urllib3 1.23
wheel 0.30.0
[vagrant@localhost python]$ python app.py
Traceback (most recent call last):
File “app.py”, line 3, in
import urllib3.requests
ImportError: No module named requests

# -*- coding: utf-8 -*-

import urllib3.requests

url = "http://uta.pw/shodou/img/28/214.png"
savename="test.png"

urllib3.requests.urlretrieve(url, savename)
print("保存しました。")

あれ?

業界に特化した検索エンジンをつくろう

googleの検索エンジン
-> crawlerが巡回
-> DOMを取得して配列に保存する

自作検索エンジン
-> crawlerが特定サイトを巡回
-> テキストを取得して、mongoDBに保存?

どういうアルゴリズムでリスト表示するか?
->最新のデータ
->クリック数

検索フィールド
->bodyに検索文字を含んでいた場合?

→データセットをmongoDBから取り出して、それをソートし直すのはいささか効率的でないような気がする

– タイトル、テキスト、リンク先を表示する。

そういえば、Googleにソートってないですね。
->レコメンドをどう出すか?

とりあえず、mongodbに入れるところから、始めよう。pug, sassも使いたい。
[vagrant@localhost freelance]$ mongo
MongoDB shell version: 3.2.20
connecting to: test
Server has startup warnings:
2018-07-21T18:36:29.147+0900 I CONTROL [initandlisten]
2018-07-21T18:36:29.148+0900 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
> show dbs
app 0.078GB
local 0.078GB
mydb 0.078GB