Mrcdh技术博客 Mrcdh技术博客
首页
  • Html5
  • Javascript
  • Nodejs
  • electron
  • Android
  • 微信公众号
  • 框架
  • 其他
  • Mysql
  • PHP
  • Python
  • java
  • Gulp
  • 其它
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Mrcdh

立志于全桟开发
首页
  • Html5
  • Javascript
  • Nodejs
  • electron
  • Android
  • 微信公众号
  • 框架
  • 其他
  • Mysql
  • PHP
  • Python
  • java
  • Gulp
  • 其它
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Mysql

  • PHP

  • Python

    • scrapy - 保存输入处理登录图片验证码
      • 安装 PIL 库
      • 使用方法
    • pip基本使用及下载速度慢解决方案
    • python之Anaconda(conda)版本管理
    • Python框架&库
  • java

  • Go

  • ElasticSearch

  • Git

  • Gulp

  • 钉钉开发

  • Microsoft

  • 其它

  • 技术
  • Python
mrcdh
2020-10-23
目录

scrapy - 保存输入处理登录图片验证码

# scrapy - 保存输入处理登录图片验证码

在使用 scrapy 爬虫进行爬取网站的时候会遇到登录验证码的问题,这里我们使用 PIL 库来保存验证码。

# 安装 PIL 库

pip install Pillow
1

# 使用方法

import scrapy
from PIL import Image
import io
class Demo(scrapy.Spider):
  def parse(self, response):
    # 获取验证码的图片地址
    imgurl = response.css('#vcode_img::attr(src)').get()
    if imgurl is not None:
      print("验证码地址:" + imgurl)
      # 将地址加入下一个请求
      captUrl = response.urljoin(imgurl)
      # 请求验证码,带上当前的响应response
      yield scrapy.Request(captUrl, callback=self.login, meta={'login_response':response}, dont_filter=True)
  # 输入验证码并登陆
  def login(self,response):
    login_response = response.meta.get('login_response')
    # 获取验证码
    img = Image.open(io.BytesIO( response.body ))
    # 显示验证码
    img.show()
    # 获取输入的值
    capt_value = input("请输入验证码->")
    # 登录请求
    yield scrapy.FormRequest.from_response(login_response, url="http://localhost/login/ajax_login", formdata={ "user_name":"123456", "admin":"123456", "checkcode": capt_value }, callback=self.after_login) 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#python#scrapy
上次更新: 2020/12/26, 11:12:00
php快速接入微信支付宝支付easy-pay
pip基本使用及下载速度慢解决方案

← php快速接入微信支付宝支付easy-pay pip基本使用及下载速度慢解决方案→

最近更新
01
python之Anaconda(conda)版本管理
03-24
02
electron文件缓存
02-16
03
vuex数据持久化插件vuex-persist
02-14
更多文章>
Theme by Vdoing | Copyright © 2020-2023 Mrcdh | 苏ICP备2020058908号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×