利用scrapy实现github登录

利用scrapy实现github登录,第1张

利用scrapy实现github登录

效果展示

 

import scrapy


class LoginSpider(scrapy.Spider):
    name = 'login'
    allowed_domains = ['github.com']
    start_urls = ['http://github.com/login']#首先访问登录页面
    P= "15175857475a"
    def parse(self, response):
        authenticity_token=response.xpath('//input[@name="authenticity_token"]/@value').extract()[0]
        timestamp=response.xpath('//input[@name="timestamp"]/@value').extract()[0]
        timestamp_secret=response.xpath('//input[@name="timestamp_secret"]/@value').extract()[0]
        required_field=response.xpath('//input[@type="text"]/@name').extract()[1]
        form_data={
            "commit": "Sign in",
            "authenticity_token":authenticity_token ,
            "login": "用户名",
            "trusted_device": "",
            "password": "密码",
            "webauthn-support": "supported",
            "webauthn-iuvpaa-support": "unsupported",
            "return_to": "https://github.com/login",
            "allow_signup": "",
            "client_id": "",
            "integration": "",
            required_field: "",
            "timestamp": timestamp,
            "timestamp_secret":timestamp_secret,
        }
        yield scrapy.FormRequest(url="http://github.com/session",callback=self.verify_login,formdata=form_data)
    def verify_login(self,response):
        if "Fengxiaobing00" in response.text:
            print("登录成功")
        else:
            print("不成功")
#登录github
#请求流程 向 https://github.com/session 提交post 用户名密码等数据 获取登录页面
#1.访问 https://github.com/login获取https://github.com/session 需要的参数

"""commit: Sign in   忽略
需要购造
authenticity_token: qx0N300eRt+thwVSihcr93xQOhYLRGsdEEBXf0twTZXS8lCV9e58/neVLLBY0/v1A7zAhASGyIeuJdSR28oBRA==
login: [email protected]  用户名
password: 15175857475a1  密码
trusted_device:   
webauthn-support: supported   忽略
webauthn-iuvpaa-support: unsupported  忽略
return_to: https://github.com/login
allow_signup:    
client_id: 
integration: 
required_field_f9a9:  不太一样,但是没有数据 
timestamp: 1641002690912   时间戳 需要枸造

需要枸造
timestamp_secret: b539cdfd359669612d24768a002e4f3ccca2f52ccba8217aefc4eb6485ccf9f5"""

"""
参数获取的方式:
1.之前请求的页面中获取
2.js代码动态生成
"""

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存