baseurl = "https://trading1.sbisec.co.jp/ETGate/"
def write(str):
f = open("out.html", "w")
f.write(str.encode("sjis"))
f.close()
def build_opener_cookie(cj):
import urllib2
ch = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(ch)
return opener
def get_form(opener):
r = opener.open(baseurl)
html = r.read().decode("sjis")
return html
def parse_form(html):
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
q = {}
form = soup.findAll("form")[1]
for i in form.findAll("input"):
d = dict(i.attrs)
t = d["type"]
if t == "hidden" or t == "text" or t == "password":
q[d["name"]] = d["value"]
return q
def login(opener, query):
import urllib
query["user_id"] = u"hogehoge"
query["user_password"] = u"hagehage"
query = urllib.urlencode(query)
r = opener.open(baseurl, query)
html = r.read().decode("sjis")
return html
def main():
import cookielib
cj = cookielib.LWPCookieJar("cookie.txt")
opener = build_opener_cookie(cj)
html = get_form(opener)
q = parse_form(html)
html = login(opener, q)
write(html)
cj.save()
if __name__=="__main__":
main()
- ログインページのformを抽出
- input要素を抽出してコピー
- id, passを入れてurlencodeしてpost
- LWPCookieJarを使うとCookieの内容がファイルとして保存できる