診断メーカー取得2

pyqueryというライブラリがあることを知ったので使い方をメモ。以前に書いた内容をpyqueryを使って書き直してみる。

import urllib
import pyquery

import sys
import time

def shindan(num_str, name):
    def fetch(num_str):
        params = urllib.urlencode({"u" : name})
        url = format("http://shindanmaker.com/%s" % num_str)
        return urllib.urlopen(url, params).read()

    def _do(result):
        d = pyquery.PyQuery(result)
        title = d.find("title").text()
        content = d.find('div.result div').text()
        print "%s:\n \t%s" % (title, content)

    return _do(fetch(num_str))

name = sys.argv[1]
for num in sys.argv[2:]:
    shindan(num,name)
    time.sleep(1)