たうちゃん

東京でシステム開発やってます。 主にIT系/ギター/旅行/映画等

PythonでWebスクレイピング

PythonでWebスクレイピングをやってみたかったので、土曜日にガッツリやってみた。

やりたいこと

  • サイトの情報を抜き取る
  • DBに登録
    これを定期的にバッチ実行する

まずPythonをインストールし、適当にネットを見てると、どうやらBeautifulSoupというライブラリが役立つそうだ。

Qiitaのこの投稿がとっても役に立った

無事にBeautifulSoupインストールできた。 取得結果をコマンドプロンプト上に出すだけだったら上記だけで行ける。 サイトごとにhtml.parsed.select(~~)の中の書き方を変えてあげれば。 ただし、エクセルに出力したりDBに書き込むやり方は書いてない。

そこで、ここが役にたった

ここではエクセルに落とし込むやり方が書いてある。
※直接DB登録はさらにハードル上がるので今回はパス
ちなみにここで出てくるxlutilsのインストールは
easy_instal xlutils
でいけた。(シャープいらんかった)

最終的にはこんな感じ

from urllib.request import urlopen
from bs4 import BeautifulSoup
from xlwt import Workbook

url = '~~~URL~~~'
htmlData = urlopen(url).read()
htmlParsed = BeautifulSoup(htmlData, 'html.parser')
numrow=0
numcol=0
wb = Workbook()
ws = wb.add_sheet( "~~シート名~~" )

for div in htmlParsed.select('~~CSSセレクタ~~'):
    player_url = '~~ドメイン部~~' + div.get("href")
    player_htmlData = urlopen(player_url).read()
    htmlParsed2 = BeautifulSoup(player_htmlData, 'html.parser')

    htmlParsed2.select_one('~~CSSセレクタ~~')
    print(''.join(div.text.split()))
    ws.write( numrow, 0, ''.join(div.text.split()))
    numcol=1
    for detail in htmlParsed2.select('.meat'):
        #strip()で先頭末尾の余計な空白削除
        print(detail.string.strip())
        ws.write( numrow, numcol, detail.string.strip())
        numcol+=1
    print('--------------------')
    numrow+=1

wb.save( "~~保存名~~.xls" )

ところどころデバッグ用にprint()書いてます。
さて、これでデータは表形式に落とし込めた

最後はこれをDBに取り入れたい。それについては、ここが役にたった。

これで、エクセルマクロでinsert文を生成できます。 ひとまずこれでDBまでは登録できました。

しかし、たとえば芸能人の情報を取ってきたいな、と思ったときに一つのサイトで完結するならいいが、サイトによってHTMLの構造違うから。
あるサイトではプロフィールにclass名つけてくれるところもあるけど、そんなのなくてtableタグで囲んでいるだけのところもある。 HTMLパーサーで分解して分析していくからHTMLの構造も固定じゃないと自動化はできないね

ということで、

やれたこと

  • サイトの情報を抜き取る
  • Excelに落とし込む
  • Insert文生成
  • DBに登録

折りたたみキーボードポチった

今日もシェアサイクルに乗ってきた!

出先で文章を書くようのBluetoothキーボードがほしいな~と思い立ったのだ。

勤め先の六本木から新宿三丁目ビックロまで

距離は約4.7km

時間は約20分

料金は30分以内なので150円(税別)

電車で行くより安い!しかもなんといってもチャリは気持ちいいね~~

 

ビックロでこいつ↓が良さげやったが、が残念ながら在庫切れであった。

 しゃーないからさっきAmazonでポチりました。

7200円也。

Enterキーが長細いのがいいのよね~

あと、パンタグラフ式だからウチ心地がいい。

コンパクト、軽い

などメリットはたくさん

カフェとかでの作業が捗ると思うとワクワクしてくる^^

 

 

 

VRゴーグルで遊んでみたよ

今日はずっと家~
なかなか難航した日だったーーー
 
まずね、iTunesに入ってる曲(300GBぐらい?ある)をWindows複数アカウントでみれるようにしようとしたら、なかなかうまく行かなかった件
というか曲をインポートするのに時間がかかりすぎてなにもできなかったーw
 
次、お気に入りの同期。
デスクトップのChromeiPhone,iPadSafariでお気に入りを同じにしたい
が、これはうまくいかなかった。理由はなんだろ、よくわからない
拡張機能もいれたし、iCloud for Windowsもいれたのだがなー
ipad,iphoneはきれいに同期がされるんだけどね。
 
そして次!今日のメインディッシュ
VRゴーグルのセッテイング
これをかったのね~
Canbor VRゴーグル Bluetoothコントローラ付属

Canbor VRゴーグル Bluetoothコントローラ付属

 

  

買ったはいいが、気をつけたほうがいいと思った点
まぁ~今日時間取って触っただけだからあんまり参考にならんかもしれんが。
1.ゴーグルにiPhoneを装着する際、留め具が電源ボタンや音量ボタンに接触する
2.リモコンが電源ついてんのかついてないのかわかりにくい
3.動画の中にどうしても焦点があわないやつが有る気がする
4.オフラインで保存する方法がないー!?
5.情報が少なすぎるーー
 
1.はとにかくウザいです。。。
一応スペーサー的なものは有るが、、、
2のリモコンは音量や進む、戻るとかの操作をするんだけど、ちょっと時間がたつと反応がない?ことがある。。。気がするのよねー。
3.は左右のレンズの位置をいちいち
4.はYouTubeとかVR Playerてきなのはいろいろあるが、、
全部オンラインじゃないと見れないようになっている
ダウンロードして見れるようにしたり、パソコンにある動画を再生したりすることができないのだ
5はとにかく VR ゴーグルについての操作の仕方や動画の形式とかについての情報を掲載したサイトがあまりにもなさすぎる
おすすめの VR ゴーグルや VR アプリのまとめサイトはたくさんあるが逆にそればっかりしかない状態
 
ちなみに今わかんないのがトップボトム形式の動画をスマホで再生する方法。。。
なんかないかな~~~考えとこ
 
 

はじめてのシェアサイクル

 
今日は初めてシェアサイクルに乗ってみました!
電動自転車なのでやっぱりめちゃくちゃ快適です
山手線の内側であれば本当にものの30分でほとんどの場所に行けちゃうんじゃないでしょうか
残念ながら私の住んでいる板橋区ではスポットがないのですが。。。
今日で電動自転車に乗るのは2回目なのですが、最高に気持ちがいい。癖になりそう
料金が少し高めであるが、、、そしてスポットがどこにあるのかをいちいち調べるのが面倒では有るが、、、
 
飯田橋から渋谷までのってみることに。
外堀通りをずっといって赤坂御用地、新国立競技場を通って青山通りを真っすぐ行って渋谷へ。
青山通りは、休日になると、歩道に人いっぱいで通れないね。注意した方がいい。
 
 
途中新国立競技場の建設現場
赤坂御用地のあたりとかチャリなかったら来てなかっただろうなー
 
初めてみましたが、でっかい!!

そうそう、隣の秩父宮ラグビー場では郷ひろみが歌っていたそうです
 
三軒茶屋に用があったのですが、乗り過ごしてしまい桜新町までいっちゃった 。。。
 
なんかきれいなのあった

帰りもシェアサイクル使っちゃいました
代々木上原から椎名町まで。
一旦国道20号まで出て、あとは山手通りを北上するだけだから快適
山手通りは歩道も広いしいいね。
 
 
 

Check signal in the Subway of Tokyo Metro Yurakucho Line

 

Today, I was trying to check radio wave condition in the running train ,since the mobile router(Model Number WX03) that I ordered arrived.
 
my ordered device

 

Now, I'm living in Tokyo, and in many places (such as train station, department store,restaurant ) of Tokyo any Wi-Fi-enabled devices can receive strong signal.

But, in any underground area or country area, sometimes weak signal.
 
I go to work by subway every weekday. I'm under the soil most time of commute.
So, one day I noticed that my WiFi device didn't receive any signal in the train.
 
I was trying to check signal in the Subway of Tokyo Metro Yurakucho Line !
 
In the station, the ticket gates, concourse, and the platforms are located underground.
And in these spot, Signal is good! (↓below)

 
But we board a train and surf the Web on own devices so we can't search the Web.
Such a simple googling conclude 404 errorin the running train.
 

(猫 means cat in japanese)
 
To come to the point,,,
in the running train we can't surf the web on own WiFi devices ,so only use the 4G LTE.