美文网首页
python反反爬之5S盾(cloud flare)

python反反爬之5S盾(cloud flare)

作者: 奈斯凸米特 | 来源:发表于2021-09-13 16:57 被阅读0次

场景描述:

  1. 在爬虫开发中,可能有小伙伴会遇到浏览器正常访问,但是代码始终无法获取,返回403等;
  2. 在返回的源码中,我们能很清晰的看到下图所示的字样


    报错页面.png

问题解决

  • 类似于这种需要等待的网站(一般等待5S,所以也称为5s盾),80%可以判定为使用了5s盾反爬。
  • 在python里,有可以绕过这个等待的库 cloudscraper
  • 使用:
    安装:
pip install cloudscraper
# 更新最新版本
pip install cloudscraper -U

普通使用

# 创建实例
scraper = cloudscraper.create_scraper()
# 请求url
res = scraper.get(url)
# 打印结果
print(res.text)

在scrapy中使用中间件

middlewares.py

class CloudScraperMiddleware:
    def process_response(self, request, response, spider):
        if response.status == 403:
            url = request.url
            req = spider.scraper.get(url, headers={'referer': url})
            return HtmlResponse(url=url, body=req.text, encoding="utf-8", request=request)
        return response

spider.py

import cloudscraper

# 启用中间件
custom_settings = {
        "DOWNLOADER_MIDDLEWARES": {
            'testspider.middlewares.CloudScraperMiddleware': 520,
        }
    }

def __init__(self, **kwargs):
    # 创建实例
    self.scraper = cloudscraper.create_scraper()

还有一个库(cfscrape)和cloudscraper用法一模一样,但是经过测试,该库失败

参考文献

https://github.com/VeNoMouS/cloudscraper

相关文章

  • python反反爬之5S盾(cloud flare)

    场景描述: 在爬虫开发中,可能有小伙伴会遇到浏览器正常访问,但是代码始终无法获取,返回403等; 在返回的源码中,...

  • 反反爬 | 解决CloudFlare 5秒盾

    遇到的问题 当我们第一次访问使用 CloudFlare 加速的网站时,网站就会出现让我们等待 5 秒种的提示 解决...

  • selenium 反反爬

    写在前面:该篇文章是学习selenium反反爬的记录文章,会逐步完善,并不代表是selenium所有的反反爬方式,...

  • 矛与盾

    矛即盾,盾即矛。 无矛无以盾之说 无盾何来矛之言 矛之所向,盾之所向 矛之所愿,盾之所愿 矛以攻盾,是以取胜 盾以...

  • 反爬及反反爬

    本文涉及反爬措施: 1、强制等待 2、动态生成Cookies 3、Headers 4、UA 5、IP限制 6、Aj...

  • python数据可视化

    Python可视化库(全面介绍各种可视化库):(40条消息) Python可视化库_flare zhao的博客-C...

  • Python爬虫实战之爬取链家广州房价_03存储

    问题引入 系列目录: Python爬虫实战之爬取链家广州房价_01简单的单页爬虫 Python爬虫实战之爬取链家广...

  • Python谷歌翻译

    前言 文章转自奇妙的Python库之【googletrans(翻译)】[https://cloud.tencent...

  • Python爬虫反反爬:CSS反爬加密彻底破解!

    刚开始搞爬虫的时候听到有人说爬虫是一场攻坚战,听的时候也没感觉到特别,但是经过了一段时间的练习之后,深以为然,每个...

  • 矛与盾

    我是矛, 我是盾。 以我之矛, 攻我之盾; 以我之盾, 护我之矛。

网友评论

      本文标题:python反反爬之5S盾(cloud flare)

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