python爬虫登录不留记录_如何使用python编写的爬虫程序保持登录状态?

我正试着从一个讨论会上获取一些信息!(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}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值