栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用scrapy实现github登录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用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: 2418917657@qq.com  用户名
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代码动态生成
"""

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号