pyqueryはjQueryと同様にHTMLの操作ができるPython用のライブラリです。
PythonでHTMLからのデータ抽出といえばBeautiful Soupの名前をよく見かけますが、jQueryを知っている人にはこっちの方が使いやすいと思います。
内部的にはlxmlを使用しているので以下の記事などでlxmlの使い方にも軽く目を通しておいたほうがいいかもしれません。
"pip install pyquery"などでインストールできると思います
動かすにはlxmlが必要になります。入ってない場合にはそちらもインストールが必要かもしれません。
Python 3でも動くらしいです
使い方の簡単な例
PyQueryクラスにHTMLの文字列やURLを与えれば、jQuery風のオブジェクトとして利用できます。
URLの場合にはキーワード引数urlに指定しなければいけません
find関数にCSSセレクタ(要素名とかクラスとかIDとか……)を指定することで簡単に目当ての要素を取得できます。
find関数などの結果のリストの中身はlxmlの要素が返ってくるので、PyQueryの関数を呼びたければ以下の例のようにもう一度PyQueryに引数として渡してから操作します。
あるいはそのままlxmlの関数を呼んでも操作できます。
下のスクリプトははてなブックマークのトップページから、クラスがentry-linkであるa要素を取ってきて記事のタイトル(a要素の中のテキスト)とURL(href属性)を出力しています。
from pyquery import PyQuery q = PyQuery(url='http://b.hatena.ne.jp/') for elem in q.find('a.entry-link'): #PyQuery q2 = PyQuery(elem) print q2.text() print q2.attr('href') #lxml # print elem.text # print elem.get('href')