美文网首页
Scrapy爬虫模拟登陆参考demo

Scrapy爬虫模拟登陆参考demo

作者: SunY7 | 来源:发表于2023-06-19 16:16 被阅读0次

对于一些刚入行爬虫的小伙伴来说,刚开始的时候觉得所有的网站无非就是分析HTML、json数据,很容易忽忽略掉一个很重要的问题,那就是目标网站的反爬虫策略,很多目标网站为了反爬虫经常更新反爬策略,我们想要拿到数据,就需要针对它们的反爬虫来制定绕过方法,比如它识别你的UserAgent,那你可能就需要伪造、它限制IP请求次数,你可能就需要限速或者改变ip、它用验证码来识别你是人是机,你就需要模拟人的操作并且正确填写它给你弹出的验证码等等。


QQ图片20230620160825.png

今天我们以实际项目举例:有个项目需要爬取拉勾网的数据,对方使用的反爬虫手段中除了上述的以外还需要进行登陆,很多信息都是需要登录以后才能爬取,关于登陆类的爬虫之前也分享了很多知识。这里就简单的过一下流程。
1、分析整个网页:首先需要获取到cookies,因为它是动态的,所以每隔一段时间都需要进行重新的获取
2、发送请求:当你获取到指定时间段的cookie之后,下一步要做的就是通过整个cookie和url放在一起朝服务器发送请求,获取到服务器发送出来的数据(得到之后需要使用json进行反序列化)
3、对当前页面数据中的内容进行指定的操作 如果你想要得到一大串数据中的指定的内容,那么你就可以通过一些第三方的类库来对这段数据进行操作
在此之前,我用过第三方库scrapy-proxys加上代理api接口,可能是之前代码没有调整好,导致的没有能够成功。所以这里直接使用亿牛云官方给出的python和scrapy的代码示例,

! -- encoding:utf-8 --

import requests
import random

# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"

# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "username"
proxyPass = "password"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}

相关文章

网友评论

      本文标题:Scrapy爬虫模拟登陆参考demo

      本文链接:https://www.haomeiwen.com/subject/guueydtx.html