0

謝ることから始めたいと思います。私はこれが十分に何度も行われている可能性が高いことを知っています. Web サイトにログインして動作することを確認するために、Python の Requests モジュールを使用しようとしています。また、リクエストを処理するために使用する必要がある文字列を見つけるために、コードで BeautifulSoup を使用しています。

ヘッダーを適切に形成する方法に夢中になっています。ヘッダー情報には正確に何が必要ですか?

import requests
from bs4 import BeautifulSoup

session = requests.session()
requester = session.get('http://iweb.craven.k12.nc.us/index.php')
soup = BeautifulSoup(requester.text)
ps = soup.find_all('input')
def getCookieInfo():
    result = []
    for item in ps:
        if (item.attrs['name'] == 'return' and item.attrs['type'] == 'hidden'):
            strcom = item.attrs['value']
            sibling = item.next_sibling.next_sibling.attrs['name']
            result.append(strcom)
            result.append(sibling)
    return result
cookiedInfo=getCookieInfo()
payload =   [('username','myUsername'), 
         ('password','myPassword'), 
         ('Submit','Log in'), 
         ('option','com_users'), 
         ('task','user.login'), 
         ('return', cookiedInfo[0]),
         (cookiedInfo[1], '1')
        ]

headers = {
    'Connection': 'keep-alive',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Origin':'http://iweb.craven.k12.nc.us',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)'
}

r = session.post('http://iweb.craven.k12.nc.us/index.php', data=payload, headers=headers)
r = session.get('http://iweb.craven.k12.nc.us')
soup = BeautifulSoup(r.text)

また、機械化モジュールを利用する方が良い/よりPythonicである場合は、提案を受け付けます。

4

0 に答える 0