ムキムキの男性
ビットコイン
MSI Afterburner
ミニスーパーファミコン
はてブ

ブログ最適化/SEO対策が面倒なのでPythonにやらせてみた

数日前にホットエントリー入りしていたほけきよさん(id:imslotter)の記事を読んで、オライリーの本を読んでみたかったことを思い出しました。

www.procrasist.com

このコードを実行するまでに何点か躓いたポイントがあるので、ついでにPython導入から最適化を実行するまでの手順を説明します。 Macのお話です。Windowsは気が向いたら書きます。

Homebrewをインストー

HomebrewとはmacOS上でソフトウェアの導入を単純化するパッケージ管理システムです。面倒な環境構築が簡単になりますよって感じです。

ターミナルを開いて以下のコマンドを実行します。 ($に続く文字をコピペしてエンターキーで実行します。$は不要です)

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

これだけ!
不安な方は以下のコマンドで無事にインストールできたか確認しておきましょう。

$ brew doctor

Python3をインストー

Pythonをインストールしていきますが、注意点が。
Pythonにはバージョン2系と3系がありますが、この2つには互換性がありません。わかりやすく言うと2系で動いていたコード(プログラム)が3系では動かない可能性がある、ということです。(逆も然り)

今回のコードは3系向けに書かれているため、2系ではなく3系をインストールしていきます。

$ brew install python3

“python3” ではなく python"と書いてしまうと2系がインストールされてしまうので注意が必要。

インストールできたかの確認を兼ねてバージョンを確認しておきましょう。 ($に続く文字 python3 --version だけをコピペして実行してください。次の行のように Python 3.x.x と表示されるはずです)

$ python3 --version
Python 3.6.1

Gitのインストー

こちらは必須ではありません。taikutsu_blog_worksリポジトリからクローン(複製)する場合には必要になります。 Gitをインストールするにはターミナルで以下を実行します。

$ brew install git

こちらもインストールできたかの確認を兼ねてバージョンを確認しておきましょう。

$ git --version
git version 2.13.2

デスクトップ上にGitHubリポジトリからクローンします。 (#以降はコメントなのでコピペしなくても実行できます)

$ cd ~/Desktop #デスクトップに移動
$ git clone https://github.com/hokekiyoo/taikutsu_blog_works.git #クローン
$ cd taikutsu_blog_works #クローンされたディレクトリに入る
$ ls
README.md   all_in_one.py   modules

最後の行に3つ表示されればOK!!

Gitを使用しない場合はGitHubのリポジトリほけきよさんのこちらの記事からコピペしてall_in_one.pyと名前を付けて保存してください。

コード(一部修正)

僕の環境ではERRORやWARNINGを吐くポイントがあったため、コードを一部修正しました。
元のコードでうまく実行できないようであれば参考にしてください。

変更点は以下です。 * 古い関数を新しいものに変更(WARNINGが出たため) * “r” を削除 * 2箇所 * Excelで開く人のためにCSVファイル出力の文字コードShift_JISを指定(デフォルトはUTF-8

最適化実行!

まずは実行してみましょう。

$ python3 all_in_one.py -u {URL} -d {output-directory} -g -i -b -l

{URL}を対象のブログのURLに、{output-directory}を出力するディレクトリ名にそれぞれ置き換えてください。

僕の場合は以下になります。

$ python3 all_in_one.py -u http://handsm.hatenablog.com -d result -g -i -b -l

実行時に以下のオプションを指定できます。

|引数|意味| |—|—| |-u, –url|調べたいサイトのurl(※必須)| |-d, –directory|結果を保存するフォルダ名(※必須)| |-i, –image|記事内画像を抜き出す| |-g, –graph|内部リンクの解析結果を表示する| |-l, –invalid_url|リンク切れを調べる| |-b, –hatebu|はてブの付き方の初動解析| (ほけきよさんのブログより引用・一部追記)

実行時にエラーが出た場合は次の章を参照してください。

足りないモジュールをインストー

僕の場合は「モジュールが存在しないよ!」的なエラーがいくつか出ました。

例えば次のようなエラー。

$ python3 all_in_one.py -u http://handsm.hatenablog.com -d result -g -i -b -l
Traceback (most recent call last):
  File "all_in_one.py", line 4, in <module>
    from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

‘bs4'というモジュールが見つからないよ!と嘆いていますね。
次のコマンドでモジュールを追加できます。

$ pip3 install {モジュール名}

先程例に上げた場合だと

$ pip3 install bs4
Collecting bs4
Collecting beautifulsoup4 (from bs4)
  Using cached beautifulsoup4-4.6.0-py3-none-any.whl
Installing collected packages: beautifulsoup4, bs4
Successfully installed beautifulsoup4-4.6.0 bs4-0.0.1

となります。
その後もう一度 python3 all_in_one.py -u {URL} -d {output-directory} -g -i -b -l を実行してみましょう。

他にもモジュールが見つからない場合があるので、その都度 pip3 install {モジュール名} でインストールしてください。

結果

僕のブログ「人の金で焼き肉が食べたい」を解析してわかったこと、それは……














まだまだ記事数が少ない ということです(´・ω・`)ガンバリマス

Pythonに関する書籍