python scrapy模拟登录的方法

Python (178) 2023-06-13 10:36:32

1、requests模块。直接携带cookies请求页面。

找到url,发送post请求存储cookie。

2、selenium(浏览器自动处理cookie)。

找到相应的input标签,输入文本,点击登录。

3、scrapy直接带cookies。

找到url,发送post请求存储cookie。

#-*-coding:utf-8-*-
importscrapy
importre

classGithubLoginSpider(scrapy.Spider):
name='github_login'
allowed_domains=['github.com']
start_urls=['https://github.com/login']

defparse(self,response):#发送Post请求获取Cookies
authenticity_token=response.xpath('//input[@name="authenticity_token"]/@value').extract_first()
utf8=response.xpath('//input[@name="utf8"]/@value').extract_first()
commit=response.xpath('//input[@name="commit"]/@value').extract_first()
form_data={
'login':'pengjunlee@163.com',
'password':'123456',
'webauthn-support':'supported',
'authenticity_token':authenticity_token,
'utf8':utf8,
'commit':commit}
yieldscrapy.FormRequest("https://github.com/session",formdata=form_data,callback=self.after_login)

defafter_login(self,response):#验证是否请求成功
print(re.findall('LearnGitandGitHubwithoutanycode!',response.body.decode()))

以上就是python scrapy模拟登录的方法,希望对大家有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复