githubのcontributionsについて

まあぶっちゃけていうと

正直あの芝生に色がブワってしているのが気持ちいいってのはあった。だからちょっと意識的にコミットを細かめにしてたこともあった。



僕のやつですねこれ。中間でゴッソリ抜けてるのはgitlabを使ってたから。

なんかこれにこだわるのやめたい。てかやめようとおもう。そりゃ濃い緑色があって「20contributions」とか出てたらちょっとウキウキするし「やった感」はでるけど、結局contributions数自体には意味はないとおもうし大事なのは「何回コミットしたか」「それだけプルリク出したか」とかじゃなくて「なにを書いたか」だとおもうのでもうそろそろ芝生にこだわるのから卒業したい......!!!!!



だってさあ! 俺のgithubのreposioryで長期に渡って保守運用してるのとかみっつもないし、チュートリアル系はもう消したほうがいいのかなあ。

あーでもリポジトリ消したら草も消えちゃう....()

そういえばこれやってるざっくり React & Redux with TypeScript - Qiita次の開発でいいかげんにts使いたいのと、そろそろReduxから逃げるのはよくないと思ったから。
あーーーもっこす食いてえ

f:id:ten0313:20191228220131j:plain
カニ食った。めっちゃおいしかったv^^;

帰国した

帰国した

それだけ。飛行機めっちゃ揺れた。風がつよかったみたい。着陸の時に横倒しになりそうだったのがビビった。



関空、そのまま実家に着いた。しゃぶしゃぶ食った。ヨシ!!


こいつなんか睾丸が腫れてたみたい。だせえ

f:id:ten0313:20191227225750j:plain
タンソンニャット空港で見たやつ。パシフィックリムでイェーガーが格納されてるシーンっぽくてよい
でかいものが格納されてて、その壁面に小さい部屋がたくさんあるの、基地っぽくていいよね

あと回る寿司屋行った。回るのに行きたかったからとてもいい。できたら次は回るやつの安いやついきたい。

次つくるやつ

f:id:ten0313:20191227231617j:plainf:id:ten0313:20191227231644j:plainf:id:ten0313:20191227231654j:plainf:id:ten0313:20191227231710j:plain
つぎつくるというか、年末年始の間にちょこっと触れればいいなっておもって飛行機の中で書いてた。とりあえず今からfigma起動する

日本寒!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

pornderの動作を一部ごっそり変えた。

ぶっちゃけていうとpornderでは以前から明らかな不具合があった。

pornderでのルーティングはreact-router-dom - npmをつかっていた。開発環境ででも、ブラウザのエミュレーターを通してでもそれで上手くいっていた。

のはずなんだけど

なんかわからんけどherokuにプッシュしてスマホから見た場合のみ一部ページが表示されないバグが起こってた。詳しくいうと「おすすめしているカテゴリを表示するページ」。

今はまだカテゴリを見れるだけなんだけど、将来的にはオススメされるカテゴリの設定とかをここでしたいつもりなので修正しないといけない。

 

いろいろ試したんだけど

よくわからないって結論。でもまあ修正はしないといけないので、URLでのルーティングはおいといてとりあえずポップアップでの表示とさせた。

これでいけるはず~~ってなったんだけど、これもうまくいってないっぽい。どうやらルーティングの問題じゃないっぽい?
もしかしたらコンポーネントの仕様がなにかとかちあってたりするのかもしれない。

なんもわからん。
なにがキツいかっていうと本番環境でしかこのバグの再現ができないってこと。これが泣きそうなくらいめんどくさそう。

今日ベトナムを発つ

今日の晩25時くらいにベトナム発の飛行機に乗って関空に9時くらいに着く。タンソンニャット空港周りはマジで詐欺多いので空港自体に近寄るのがちょっと億劫。
なんかそこらへんのことも書いたらおもしろそうかな

今日なんも食ってねえ

26日

# coding: UTF-8
import urllib2
from bs4 import BeautifulSoup
import re


# アクセスするURL
url = "https://jp.pornhub.com/video/search?search=%5Bnew%5D+miley+cyrus+pussy+pics+from+%23thefappening+nude+leaked"

# URLにアクセスする htmlが帰ってくる
html = urllib2.urlopen(url)

# htmlをBeautifulSoupで扱う
soup = BeautifulSoup(html, "html.parser")

# もとめてるimgタグもってくる
image = soup.find(id='videoSearchResult').find('li', class_=["js-pop", "videoblock", "videoBox"]).find('a', class_=["linkVideoThumb", "js-linkVideoThumb", "img"]).find('img', class_="rotating")


# data-mediabook、サムネ動画のURLを出力
print(image.get('data-mediabook'))

順番じゃなくて一応きちんと動画を指定して動くサムネを取得してみたやつ。正確には動画指定というより、前回と同じくタイトル検索して出てきた一覧から色々ちゃんと正確に動画を指定しようとしてるだけだけど。

imgタグ探すやつはなんかhttps://imoni.net/tips/00xx/0016.html#h3-search-tagこれ見て「メソッドチェンーンで書けねえかな」って思ったら書けた。かっこいいのできにいってる。

そんな今日もなにもしてない

f:id:ten0313:20191226031513j:plain
これは昨日食ったケーキ。メリークリスマス!!!!

f:id:ten0313:20191226031547j:plain
美味しかったラーメン屋いった。
タオディエン – とんこつラーメン 暖暮
美味い

f:id:ten0313:20191226031828j:plain
ヴンタンマーケットに行った。いつもと変わらないかんじ。終わりがけの6時くらいに行ったから撤収してる様子とかも見れたのは良かったかも。

f:id:ten0313:20191226032003j:plain
ベトナムはかつてフランスに占拠(?)された国。都心部のやけに舗装された道とかは当時のフランス軍が整備したやつっぽい。
国民性はよくいえばおおらか。詳しくいえば適当っぽいとこもある。

f:id:ten0313:20191226032129j:plain
だから空港でガチ寝するのも許される。容姿からして多分ホームレスとか利用客とかじゃなくて清掃の人っぽい

クリスマスイブじゃん

じゃん

特になにもせずにだらだら過ごした。良き。
まあまあ気温高かったのでプール入ってた。
f:id:ten0313:20191225005415j:plain
クリスマス色のベトナムホーチミン

f:id:ten0313:20191225013421j:plain
カレー食いにいったんだけど、目当ての日本料理屋が閉まってたので隣にあったホルモン焼き肉やさんにいった。美味しかった。トントロ美味えって感じ。久し振りに焼き肉食べたけどとても良かったって感じ。

開発とかマジでそんなにしなかったんだけど、さっきブログ書きながらちょろっとやったら進捗っぽいものが生まれたので書いとく

特定の動画の動くサムネを取得したかったんだけど、なかなか上手くいかない。
pornhubの動画には、それぞれviewkeyだとかいうユニークなidが振られてて( 例えば https://jp.pornhub.com/view_video.php?viewkey=ph5ab1836899260 これのviewkeyは"ph5ab1836899260")それを元にあれこれできないかなあっても思ったんだけどとりあえずはきつそうだった。
仕方ないので力技でやった。

  • pornhubで動画タイトルをそのまま検索する
  • 昨日やってた動くサムネを取得するやつをそこのURLで実行する
  • 終わり

プログラムはこんなかんじ

# coding: UTF-8
import urllib2
from bs4 import BeautifulSoup
import re


# アクセスするURL
url = "https://jp.pornhub.com/video/search?search=%5Bnew%5D+miley+cyrus+pussy+pics+from+%23thefappening+nude+leaked"

# URLにアクセスする htmlが帰ってくる
html = urllib2.urlopen(url)

# htmlをBeautifulSoupで扱う
soup = BeautifulSoup(html, "html.parser")

# imgタグのクラス名がrotatingなやつを見つけてくる
image = soup.find_all('img', class_='rotating')


# タイトル要素を出力
print(image[4].get('data-mediabook'))

まじでこのまま。
これで

https://cw.phncdn.com/videos/201803/20/158907772/180P_225K_158907772.webm?2UVeRKjVwOj8T7BVWVu90FmNW4yVPQ4A1pOVr3l9hxop7dLB2Jjrh4L71Uv5wWPHjl6gUjSY5nHITQt1ih_gl5CzutPp01flOxm-GR7lAFDy46ri_w2WdrCoismLxSA5DJux7U6JdyZxTto5nQms3f6wbks0BX6F3IOOD0bswIw2CFi9RLA2d7mqkmBkBY85yuit-tWNYNg

って出る。検索結果の動画サムネのなかから5番目を指定してる。
なんかしらんけど毎回これが目当ての動画のサムネを取得できるので。
もちろんこれがダメそうってのはわかる。もっときちんと動画を指定して抽出しなあかんだろうし、なんならタイトルを検索して~~の時点で不安要素多すぎてオエ

また明日か明後日やる

年末年始は日本に帰って実家で過ごすつもり。年明けて8日に日帰りで東京戻らないといけないらしい

Pythonを書くんだヨ!

なんかこのままスクレイピングもういいやってあきらめるんもどうかなって思ったのでスクレイピングに向いてるっていうプログラミング言語Pythonを触ることにした。これでPornderのバックエンド部分に活用しようとかはまだわからんけど、食わずぎらいもよくないかなっておもうのでまあやってみるだけやってみるってことで。
qiita.com
なんかよくわからんけどスクレイピング用のライブラリが豊富にあるのがPythonスクレイピング作業に向いている点らしい.....????
なんで?

Pythonインストール

Ubuntu環境のPython - python.jp
公式っぽい。わかりやすかった。というかやることもそんなに多くなかったしつまるところもなかったな

ubuntuだったらもともとPythonプログラムを解釈するためのPythonが入ってるんだけど、システム上で動作させているPythonをそのまま使うのはちょっとこわいので開発するんなら自前のPythonを用意しましょうね~」みたいな感じのことが書かれてた。インストール方法も簡単だった。

公式偉い。

ハロワした

print("HelloWolrd")

終わり。拡張子は"~~.py"、ピヨみたいで可愛い。

python ~~.py

実行、問題無さそう、普通に標準出力できた。

VSCode・インテリセンスが効かない?を解消 - Qiita
vsCodePythonファイル用の補完設定を入れた。

FizzBuzz書いた

for num in range(20):
  if num == 0:
    pass
  elif num % 5 == 0 and num % 3 == 0:
    print("FizzBuzz")
  elif num % 3 == 0:
    print('Fizz')
  elif num % 5 == 0:
    print('Buzz')
  else :
    print(num)

こんな感じ。

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19

Pythonの条件分岐:if文 | UX MILK
Pythonのif文による条件分岐の書き方 | note.nkmk.me
参考にしたのはここ。else if文がelifって書かなきゃいけないところをelseってタイポして一瞬詰まってた。
あと、Pythonでは純粋にJavascriptのfor文みたいなかんじじゃなくて、配列をループさせてるっぽい。感覚としてはforeach文に近いのかな。

スクレイピング

とりあえずしてみる
qiita.com

ここのをコピペしてみた。

# coding: UTF-8
import urllib2
from bs4 import BeautifulSoup

# アクセスするURL
url = "https://jp.pornhub.com/"

# URLにアクセスする htmlが帰ってくる → <html><head><title>経済、株価、ビジネス、政治のニュース:日経電子版</title></head><body....
html = urllib2.urlopen(url)

# htmlをBeautifulSoupで扱う
soup = BeautifulSoup(html, "html.parser")

# タイトル要素を取得する → <title>経済、株価、ビジネス、政治のニュース:日経電子版</title>
title_tag = soup.title

# 要素の文字列を取得する → 経済、株価、ビジネス、政治のニュース:日経電子版
title = title_tag.string

# タイトル要素を出力
print title_tag

# タイトルを文字列を出力
print title

最初のコードをコピペしてリクエスト先のURLだけhttps://jp.pornhub.com/に変えてみる

結果
<title>無料エロムービーとセックス動画。Pornhubはエロ動画をダウンロードしたりストリーミングで鑑賞できる最強の動画サイトです。</title>
無料エロムービーとセックス動画。Pornhubはエロ動画をダウンロードしたりストリーミングで鑑賞できる最強の動画サイトです。

すごい。できた。普通に感心した。


色々詰まったりライブラリの使いかたとかかって1時間半くらい難儀してたんだけど、なんとか動くサムネの動画の取得ができた。
コードはこんな感じ

# coding: UTF-8
import urllib2
from bs4 import BeautifulSoup
import re


# アクセスするURL
url = "https://jp.pornhub.com/"

# URLにアクセスする htmlが帰ってくる
html = urllib2.urlopen(url)

# htmlをBeautifulSoupで扱う
soup = BeautifulSoup(html, "html.parser")

# imgタグのクラス名がrotatingなやつを見つけてくる
image = soup.find_all('img', class_='rotating')


# タイトル要素を出力
for url in image:
  print(url.get('data-mediabook'))

出力はこんなかんじ

https://ew.phncdn.com/videos/201906/08/228265971/180P_225K_228265971.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=0BVE1wLN2OHphItgy6Jyerxc75E%3D
https://ew.phncdn.com/videos/201906/08/228290931/180P_225K_228290931.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=YQFSB3EFXxch9A4AKr%2FqLSyxW9c%3D
https://ew.phncdn.com/videos/201906/15/229519562/180P_225K_229519562.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=XLc4QcIKYH4yP6FlqbanzEMVjxY%3D
https://ew.phncdn.com/videos/201906/15/229520032/180P_225K_229520032.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=8yhNVSYwAelY6Ss4njyVu2JSUdM%3D
https://ew.phncdn.com/videos/201906/17/229861342/180P_225K_229861342.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=h051FYS%2BwA4hRsKpXDEMN7Kw2jE%3D
https://ew.phncdn.com/videos/201906/18/230205292/180P_225K_230205292.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=WxR%2FdWE2VF63jMF8aKO2W0QupEk%3D
https://ew.phncdn.com/videos/201906/19/230242582/180P_225K_230242582.webm?validfrom=1577116761&validto=1577123961&rate=150k&hash=lFq%2BqAzMjHBuho9EKpwPHKlbTTQ%3D

いいかんじかも。あとはこれで指定の動画のサムネとか取得できたらいいなって感じかな。それはまた明日でいいや。

f:id:ten0313:20191224024148j:plain
カレー食った。美味しい。
でもやっぱりごはんはインディカ米の方がこっちではいいな。日本の米もあるんだけど、炊きかたがインディカ米のほうがちゃんとしてる。

f:id:ten0313:20191224024148j:plain
あと耳に穴あけた。こんどこそ定着してほしい(といいつつも別にケアとか怠るんやろうけど)

今から進捗生む

なんとか机に座れて作業開始できた。横になったらあかんわマジで

やっぱりと言うかなんというか、pornhubのアレをフロントサイドで直接叩きにいくのは無理そうなのでとりあえずここは置いといて、閲覧中の動画のカテゴリとか見れるようにしとこうかなって思ってる。大事やんこれ。

アダルト系の開発って超楽しいんだけど、やっぱり普通の開発サービスのリリースより反応率が高いのがいいのかな。フォロワーが欲しいよお;;

やることが変わったからブランチ名変えた。カレントブランチのリネームをするなら

 git branch -b 新しいブランチ名

でよさげ
stackoverflow.com

あとなんかpornhubの内部でのカテゴリの名前がなんか統一されてない気がする(例えば"rough-sex"が"RoughSEX"になってたりする)。これまじで迷惑なので俺がMaindgeek MindGeek - Wikipedia 入ってなおしとくわ。

"interracial"の訳にちょっとハマった。「国際間セックス」とでも訳すんのかな。国境ごしのセックスかな。メキシコ人とアメリカ人の壁穴ファックかな
pornhubでは「異人種間」って表記されてて、これはグーグル翻訳の力とかではなくpornhubがきちんと命名したやつなんだけど、ちょっと「人種」って軽々しく使っていいのかな...ってちょっとためらってた。まあ確かに金髪白人と黒人チンポがヤってるわけやからな。「異人種間」でなにもまちがってない。潔くコレにしといた。


今日ぶっちゃけそこまで作業できなかったけど、というか大半をマジでげんなりする作業してた。性癖カテゴリをひたすら日本語訳するやつ。ひたすら人の陰部見ながら淫語を翻訳にかけたりいいかんじの和訳になおしたりなんていえばいいか調べたりまーーーじでくそ。誰か俺の代わりに"big-ass"を「巨尻」に翻訳する作業してくれや

f:id:ten0313:20191223033752j:plainf:id:ten0313:20191223033804j:plain
今日はホテルのプール行ってた。ちょっと寒い。最近は16時くらいになったらさすがにプール入るのは難儀する気温になってきた。それでも日曜日だからか人はまあまあいたけど。次は昼間に行く。昼間はバカ暑いので
あと美味しみのピザ食った。チーズおいしい