我正试着从一个讨论会上获取一些信息!(v3.3)网站。(http://bbs.guitarera.com/)
我编写了一个文件a来登录,并将cookies保存为一个文件。
然后我写一个文件B,用文件a保存的cookies登录
文件A工作好吧。有响应html,我可以搜索我的用户名(1016zym),意味着它正在工作。但我从来没有运行过。无法通过保存的cookies保持日志记录。在
想知道为什么?在
文件A:使用用户名和密码登录import requests
try:
import cookielib
except:
import http.cookiejar as cookielib
import re
from bs4 import BeautifulSoup
agent = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.61 Mobile Safari/537.36'
headers = {
"Host":"bbs.guitarera.com",
"Referer":"http://bbs.guitarera.com/forum.php",
'User-Agent':agent
}
session = requests.session()
session.cookies = cookielib.LWPCookieJar(filename='cookies')
try:
session.cookies.load(ignore_discard = True)
print("Cookie loaded")
except:
print("Cookie not loaded")
def login(account,password):
formhash = getFormhash()
print("formhash:",formhash)
postUrl = "http://bbs.guitarera.com/member.php?mod=logging&action=login&loginsubmit=yes&handlekey=login"
postData = {
'fastloginfield':"username",
'username':account,
'password':password,
'quickforward':'yes',
'handlekey':'ls',
'formhash':formhash
}
loginPage = session.post(postUrl,data=postData,headers=headers,allow_redirects=True)
soup = BeautifulSoup(loginPage.text)
#print(soup.prettify())
session.cookies.save()
print(soup.find(text=re.compile("1016zym")))# could found means successful logged in
return ""
def getFormhash():
url = "http://bbs.guitarera.com/member.php?mod=register"
page = session.get(url,headers=headers).text
soup = BeautifulSoup(page)
# print(soup.prettify())
k = soup.find_all(type="hidden")
r = soup.find_all("formhash")
pattern = r'name="formhash" value="(.*?)"'
formhash = re.findall(pattern, page)
if len(formhash) < 1:
print("formhash acquire failed")
return formhash[0]
if __name__ == '__main__':
print("prepare to log in")
account = '1016zym'
password = "qwer"# should be md5(password)
login(account,password)
文件B:尝试使用cookies保持日志记录
^{pr2}$