CSSでもインデント | Top | インターネットマシン

 

連打が間に合わなかった

連打しようとしたのに、Referer忘れてて負けた。


ゴリゴリ



# -*- coding: utf-8 -*-

import re
import os.path
import urllib2, urllib
import cookielib
import time

def do_request(opener, url, post_data=None, additional_header=None):
    req = urllib2.Request(url)
    req.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ja-jp) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10')
    req.add_header('Accept-Charset', 'utf-8,ISO-8859-1;q=0.7,*;q=0.7')
    req.add_header('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5')
    req.add_header('Accept-Language', 'ja,en-us,en;q=0.5')
    if additional_header is not None:
        for k,v in additional_header.items():
            req.add_header(k,v)
    if post_data is not None:
        return opener.open(req, urllib.urlencode(post_data))
    return opener.open(req)

def main():
    url = 'http://rhaco.lolipop.jp/study/'
    cookie_file = 'cookie.txt'
    csrf_value_re = re.compile(r'name="_onetimeticket" value="([^"]+)"', re.M)
    csrf_value = None

    cookie = cookielib.LWPCookieJar()
    if os.path.isfile(cookie_file):
        cookie.load(cookie_file)
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    urllib2.install_opener(opener)
    additional_header = {'Referer': url}
    for i in range(0,30):
        if i == 0:
            post_data = None
        else:
            post_data = {'choice_submit': 'これでいい!',
                         'id': '26',
                         '_onetimeticket': csrf_value}
        response = do_request(opener, url, post_data=post_data, additional_header=additional_header)
        data = response.read()
        if cookie is not None:
            cookie.save(cookie_file, ignore_discard=True)
        csrf_value = csrf_value_re.search(data).group(1)
        time.sleep(1)

if __name__ == "__main__":
    main()

Taged with:,

Entry Date:2008-03-07 00:21

Author:makoto

ping url:http://www.everes.net/2008/mar/07/rhaco-study/tbping/

subscribe:feed with LDR

Add Comment

コメント追加








What's Next
Tags
Blog Archive
Project
  • » WorkStyle

    作り直し中なので、見ないでっ!

  • » pymagnolia

    ma.gnolia.comのAPIを操作するPythonライブラリ。

  • » django-ja

    Djangoと日本の仲間たち。
    Djangoに関するニュースや、「仲間たち」のブログエントリをアグリゲートしています。

  • » rhaco

    PHPのWebフレームワーク。 PHPらしさを失わず直感的に記述できることを目指している。 Djangoと同じく、他のライブラリに依存しない。また、Djangoっぽいテンプレートの作り方も可能。

  • » Tracka

    スモールチーム、家族用の知共有ウェブアプリケーション。
    テキスト、画像、youtube動画、stage6動画等をトラック!

  • » BMO

    BMOは、本、CD、DVD、ゲームに印刷されているバーコードをiSightで読み取り、AmazonのAPIを利用して画像や情報をmacに保存します。iSightのついているmacで利用してください。Leopardと呼ばれているOSX 10.5以上が必要です。 保存した情報は、OSX Leopard(10.5)から搭載されたCover FlowとQuick Lookという仕組みを利用して表示します。