pythonscrapy模拟登录的方法

美女程序员鼓励师

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

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

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

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

3、scrapy直接带cookies。

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

# -*- coding: utf-8 -*-

import scrapy

import re

 

class GithubLoginSpider(scrapy.Spider):

    name = 'github_login'

    allowed_domains = ['github.com']

    start_urls = ['https://github.com/login']

 

    def parse(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}

        yield scrapy.FormRequest("https://github.com/session", formdata=form_data, callback=self.after_login)

 

    def after_login(self, response): # 验证是否请求成功

        print(re.findall('Learn Git and GitHub without any code!', response.body.decode()))

以上就是python scrapy模拟登录的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

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

以上是 pythonscrapy模拟登录的方法 的全部内容, 来源链接: utcz.com/z/545403.html

回到顶部