scrapy模拟登录

简介: scrapy模拟登录
import scrapy


class LoginSpider(scrapy.Spider):
    name = 'login'
    start_urls = ['https://github.com/login']

    def parse(self, response):
        ever_token = response.xpath('//*[@id="login"]/div[4]/form/input[1]/@value').extract_first()
        timestamp_secret = response.xpath('//*[@id="login"]/div[4]/form/div/input[11]/@value').extract_first()
        timestamp = response.xpath('//*[@id="login"]/div[4]/form/div/input[10]/@value').extract_first()

        data = {
   
            "commit": "Sign in",
            "authenticity_token": ever_token, # token每次都会变,可以在login网页中查找到
            "login": "xxx", # 填成自己的
            "password": "xxx", # 填成自己的
            "webauthn-support": "supported",
            "webauthn-iuvpaa-support": "unsupported",
            "return_to": "https://github.com/login",
            "timestamp": timestamp,
            "timestamp_secret": timestamp_secret
        }

        yield scrapy.FormRequest(  # 用的就是post方式
            url='https://github.com/session', # post网址
            callback=self.after_login,
            formdata=data
        )

    def after_login(self, response):
        yield scrapy.Request('https://github.com/yezhoubing', callback=self.check_login)

    def check_login(self, response):
        print(response.xpath('html/head/title/text()').extract_first())

用scrapy.FormRequest()方法发送post请求

目录
相关文章
|
数据安全/隐私保护 Python
Python | Scrapy + Selenium模拟登录CSDN
Python | Scrapy + Selenium模拟登录CSDN
147 0
|
JSON 前端开发 API
Scrapy框架-模拟登录之JWT验证及post特殊格式数据(json)
一、背景 之前有记录过普通的scrapy模拟登录,这种方法可以满足了日常爬虫的登录需求。 但是技术一直在进步,近几年前后端分离的趋势越来越好,很多web都采用前后端分离的技术。
2113 0
|
Web App开发 Python
Python | Scrapy + Selenium模拟登录CSDN
本文旨在记录selenium的一些操作实例,没啥技术含量,也没有太多概念的内容。
4481 0
|
Java 数据安全/隐私保护 Python
scrapy模拟登录代码演示及cookie原理说明
登录的需求 有些数据,必须在登录之后才能查看,所以我们在爬取过程中就会产生模拟登录的需求,它有两个点: 1、未登录的情况下无法查看数据,或者直接弹出登录框提示你先登录 2、登录后登录状态的保持(通常可以理解为cookie的处理) 登录的逻辑 访问登录页面(部分网站会在登录页面设定token或标识来反爬虫,根据Network查看post数据来确认) 构造登录所需数据,并携带伪造的数据发送登录请求(如token或标识、User-Agent/HOST/Referer等数据,向登录地址POST数据。
2726 0
|
5月前
|
数据采集 存储 数据处理
Scrapy:Python网络爬虫框架的利器
在当今信息时代,网络数据已成为企业和个人获取信息的重要途径。而Python网络爬虫框架Scrapy则成为了网络爬虫工程师的必备工具。本文将介绍Scrapy的概念与实践,以及其在数据采集和处理过程中的应用。
53 1
|
5月前
|
数据采集 中间件 Python
Scrapy爬虫:利用代理服务器爬取热门网站数据
Scrapy爬虫:利用代理服务器爬取热门网站数据
|
2月前
|
数据采集 中间件 调度
Scrapy 爬虫框架的基本使用
Scrapy 爬虫框架的基本使用
|
3月前
|
数据采集 存储 NoSQL
Redis 与 Scrapy:无缝集成的分布式爬虫技术
Redis 与 Scrapy:无缝集成的分布式爬虫技术
|
4月前
|
数据采集 存储 中间件
Scrapy,作为一款强大的Python网络爬虫框架,凭借其高效、灵活、易扩展的特性,深受开发者的喜爱
【6月更文挑战第10天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程及中间件机制提升爬取效率。它提供丰富组件和API,支持灵活的数据抓取、清洗、存储,可扩展到各种数据库。通过自定义组件,Scrapy能适应动态网页和应对反爬策略,同时与数据分析库集成进行复杂分析。但需注意遵守法律法规和道德规范,以合法合规的方式进行爬虫开发。随着技术发展,Scrapy在数据收集领域将持续发挥关键作用。
95 4
|
5月前
|
数据采集 存储 中间件
Python高效爬虫——scrapy介绍与使用
Scrapy是一个快速且高效的网页抓取框架,用于抓取网站并从中提取结构化数据。它可用于多种用途,从数据挖掘到监控和自动化测试。 相比于自己通过requests等模块开发爬虫,scrapy能极大的提高开发效率,包括且不限于以下原因: 1. 它是一个异步框架,并且能通过配置调节并发量,还可以针对域名或ip进行精准控制 2. 内置了xpath等提取器,方便提取结构化数据 3. 有爬虫中间件和下载中间件,可以轻松地添加、修改或删除请求和响应的处理逻辑,从而增强了框架的可扩展性 4. 通过管道方式存储数据,更加方便快捷的开发各种数据储存方式