コードをブログに載せるときに便利なWordPressプラグイン

SyntaxHighlighterとAddQuicktagが相性抜群

SyntaxHighlighterはコードを特定の文字で囲むとそれをプログラムコードとして認識してくれるものです。

このサイトにコード対応表がのっています。
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/powershell.html
書き方は[コード種類]ここにコード[コード種類/]のようにして使います。
コードの種類は上のリンクを参考しましょう。

AddQuicktagを使うとさらに便利に

コードを書くのが楽しくなって、コードを毎回外部に公開したくなったら、AddQuicktagが非常に便利です。このプラグインはあらかじめ自分で作った定型のコードを登録しておけるプラグインです。他にも便利なソフトウェアはあるかもしれませんが、プラグインとしてブログの投稿画面に組み込まれるので便利です。

プログラムコードをブログに毎回のせたいという人にとっては非常に便利です。プラグインは増えすぎるのもどうかと思いますがこの2つのプラグインは必須のレベルかもしれないです。

AddQuicktagの使い方はちょっとコツがいります

登録するときは開始タグと終了タグを決めます。ボタンのラベルの名前はなんでもいいですが、関連があってわかりやすいものがよいでしょう。問題は画像の右側のチェック項目です。これにチェックをつけておかないと、ブログ投稿画面に操作パネルが表示されません。

このようにAddQuicktagを使って使いたいタグを登録しておきSyntaxHighlighterをインストールしておけば、コードの見栄えを簡単によくすることができますね。特に知識もなく使えるのでWordpressを使っている人にはおすすめしたいです。

最後にクリップボードの文字列をカウントするPowerShellコードを貼り付けて終わります。

#クリップボードの文字列をカウントする
add-type -AssemblyName microsoft.VisualBasic
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$Get = [Windows.Forms.Clipboard]::GetText()
$Get.Length
$host.UI.RawUI.ReadKey() 

 

pythonでselenium入門

クラスの要素名を検索する


from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://inventwithpython.com')

try:
elem = browser.find_element_by_class_name('bookcover')
print('そのクラスを持つ要素<{}>を見つけました。'.format(elem.tag_name))
except:
print('そのクラス名を持つ要素は見つからなかった')

seleniumではブラウザの操作だけでなく、webの要素をとってきたりできるみたいです。スクレイピングの定義はわかりませんが、webの情報をとることがスクレイピングだとすれば、スクレイピングもできるということでしょうか?

しかしながらseleniumでスクレイピングをするのは邪道みたいです。どちらかという「ブラウザ操作を自動化する」という事の比重のほうが大きい気がします。

seleniumとは

seleniumはブラウザ操作を自動化できるモジュールです。私自身存在は知っていましたが、前に挫折して諦めていました。しかし「退屈なことはpythonにやらせよう」の書籍で、なんとseleniumを使う方法が書かれていたのです。

seleniumの使用準備

やることは2つです。

  1. pip installでseleniumをインストールする
  2. geckoDriverというのをサイトからダウンロードしてからカレントディレクトに置きます。(https://github.com/mozilla/geckodriver/releases

実際にgeckoDriverがない状態でプログラムを進めると、モジュールが使えないことも確認しました。

importの仕方が通常とは違う

通常のやり方は↓です

  1. import モジュール名 もしくは
  2. from モジュール名 import モジュール名

ですがseleniumの場合は特殊なようです。

from selenium import webdriver

これがseleniumをインポートする構文です。

 

find_element_とfind_elements

上記のコード6行目の例ですとclassnameがbookcoverという要素を取得し、これがWebDriverオブジェクトといものになります。

そして7行名ではelem.tag_nameとしており、これでtagの名前をとってくることができます。

find_elements は複数形でWebDriverオブジェクトをリストにするようです。

firefox以外でも使えるみたい

僕自身はfirefoxでしか使えないという固定観念があったのですが、chromeで使えることを確認しました。ただしchrome用のwebドライバーを同じようにカレントディレクトリにおいておく必要があります。

使い方や準備を含め良いリファレンスはないのかと思って探していたところ、このサイトが非常に参考になりそうです。

Selenium Python Bindings

ただし公式なリファレンスではないので、そこは自己責任のもとやっていく必要があります。