广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python scrapy简单模拟登录的代码分析
  • 388
分享到

python scrapy简单模拟登录的代码分析

pythonscrapy模拟登录 2022-06-02 22:06:34 388人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1、requests模块。直接携带cookies请求页面。 找到url,发送post请求存储cookie。 2、selenium(浏览器自动处理cookie)。 找到相应的input标签,输入文本,点击登录。 3、s

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()))

知识点扩展:

parse_login方法是提交完表单后callback回调函数指定要执行的方法,为了验证是否成功。这里我们直接在response中搜索Welcome Liu这个字眼就证明登录成功。

这个好理解,重点是yield from super().start_resquests(),这个代表着如果一旦登录成功后,就直接带着登录成功后Cookie值,方法start_urls里面的地址。

这样的话登录成功后的response可以直接在parse里面写。


# -*- coding: utf-8 -*-
import scrapy
from scrapy import FormRequest,Request


class ExampleLoginSpider(scrapy.Spider):
    name = "login_"
    allowed_domains = ["example.webscraping.com"]
    start_urls = ['http://example.webscraping.com/user/profile']
    login_url = 'http://example.webscraping.com/places/default/user/login'

    def parse(self, response):
        print(response.text)

    def start_requests(self):
        yield scrapy.Request(self.login_url,callback=self.login)

    def login(self,response):
        formdata = {
            'email':'liushuo@webscraping.com','password':'12345678'}
        yield FormRequest.from_response(response,formdata=formdata,
                                        callback=self.parse_login)
    def parse_login(self,response):
        # print('>>>>>>>>'+response.text)
        if 'Welcome Liu' in response.text:
            yield from super().start_requests()

到此这篇关于python scrapy简单模拟登录的代码分析的文章就介绍到这了,更多相关Python scrapy模拟登录的方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python scrapy简单模拟登录的代码分析

本文链接: https://www.lsjlt.com/news/11120.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python scrapy简单模拟登录的代码分析
    1、requests模块。直接携带cookies请求页面。 找到url,发送post请求存储cookie。 2、selenium(浏览器自动处理cookie)。 找到相应的input标签,输入文本,点击登录。 3、s...
    99+
    2022-06-02
    python scrapy 模拟登录
  • scrapy模拟登录代码
    本文章向大家介绍scrapy模拟登录代码,主要包括{**}的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。在Scrapy中,模拟登陆网站一般有如下两种实现方式:    &n...
    99+
    2023-06-06
  • Python模拟登录验证码(代码简单)
    废话不多说了,直接给大家贴代码了。 import urllib import urllib2 import cookielib def getImg(picurl): ''' request for r...
    99+
    2022-06-04
    验证码 代码 简单
  • Django实现简单登录的示例代码
    目录创建django项目使用模型的url.py加载静态文件页面跳转创建数据库模型提交表单提交ajax提交创建django项目 创建项目的命令行语句: django-admin st...
    99+
    2022-11-12
  • springboot简单实现单点登录的示例代码
    什么是单点登录就不用再说了,今天通过自定义sessionId来实现它,想了解的可以参考https://www.xuxueli.com/xxl-sso/ 讲一下大概的实现思路吧:这里有...
    99+
    2022-11-12
  • 简单且有用的Python数据分析和机器学习代码
    为什么选择Python进行数据分析? Python是一门动态的、面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言。Python入门简单,代码可读性强,一段好的Python代码...
    99+
    2022-11-12
  • python 模拟网站登录——滑块验证码的识别
    普通滑动验证 以http://admin.emaotai.cn/login.aspx为例这类验证码只需要我们将滑块拖动指定位置,处理起来比较简单。拖动之前需要先将滚动条滚动到指定元...
    99+
    2022-11-11
  • 关于C#继承的简单应用代码分析
    比如,现在有一些图形,需要计算他们的面积,计算面积的方法都不一样,可以这么做 声明一个抽象类 //基类 abstract class Shape { ...
    99+
    2022-11-12
  • Python数据可视化正态分布简单分析及实现代码
    Python说来简单也简单,但是也不简单,尤其是再跟高数结合起来的时候。。。 正态分布(Normaldistribution),也称“常态分布”,又名高斯分布(Gaussiandistribution),最...
    99+
    2022-06-04
    正态分布 代码 简单
  • Python中使用插入排序算法的简单分析与代码示例
    问题描述 将一组随机排列的数字重新按照从小到大的顺序排列。 插入算法 每次从数组中取一个数字,与现有数字比较并插入适当位置。 如此重复,每次均可以保持现有数字按照顺序排列,直到数字取完,即排序成功。 这很像...
    99+
    2022-06-04
    示例 算法 代码
  • 分享3个简单的Python代码高效运行技巧
    目录1. 引言2. 获取字典的值3. 循环中使用enumerate4. 使用f-strings来拼接和打印字符串5. 总结1. 引言 小伙伴们日常工作中都必不可少地使用Python实...
    99+
    2022-11-13
  • Python模拟简易版淘宝客服机器人的示例代码
    对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式...
    99+
    2022-11-11
  • Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
    支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看那结果其实在淘宝上我还是相当节约的说。 脚本的主要工作是模拟了浏...
    99+
    2022-06-04
    淘宝 实例 情况
  • 通过抓包实现Python模拟登陆各网站的原理分析
    今天就跟大家聊聊有关通过抓包实现Python模拟登陆各网站的原理分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、教程1.1 基本介绍通过分析登陆流程并使用 Python 实现模...
    99+
    2023-06-17
  • 通过抓包实现Python模拟登陆各网站的原理分析是怎样的
    这篇文章将为大家详细讲解有关通过抓包实现Python模拟登陆各网站的原理分析是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  一、教程简介  1.1 基本介绍(私信小编001 、00...
    99+
    2023-06-02
  • Python实现一个简单三层神经网络的搭建及测试 代码解析
    目录1.初始化2.预测3.训练4.测试 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层。本文所构建的神经网络隐藏层只有一层。一个神...
    99+
    2022-11-12
  • python网络爬虫之模拟登录 自动获取cookie值 验证码识别的具体实现
    目录1、爬取网页分析2、验证码识别3、cookie自动获取4、程序源代码chaojiying.pysign in.py1、爬取网页分析 爬取的目标网址为:https://www.gu...
    99+
    2022-11-12
  • 用Python代码实现5种最好的、简单的数据可视化分别是怎样的
    这篇文章给大家介绍用Python代码实现5种最好的、简单的数据可视化分别是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。数据可视化是数据科学家工作的重要组成部分。在项目的早期阶段,您通常会进行探索性数据分析(ED...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作