学习常见的反爬虫手段,如验证码、限制访问频率等

  1. 验证码(CAPTCHA):用于识别机器人和自动化程序,可以通过以下方式实现:

    from PIL import Image
    import pytesseract

    读取验证码图片

    image = Image.open('captcha.png')

    使用pytesseract库进行验证码识别

    text = pytesseract.image_to_string(image)
    print(text)

  2. IP限制/访问频率限制:限制同一个IP地址或者同一个用户在一定时间内的请求次数,可以通过以下方式实现:

    import time

    限制每分钟最多5次请求

    MAX_REQUESTS_PER_MINUTE = 5

    获取当前时间戳

    current_time = time.time()

    判断该IP地址或用户在一分钟内的请求次数是否超过限制

    if redis_client.get(ip_address_or_user):
    num_requests = int(redis_client.get(ip_address_or_user))
    if num_requests >= MAX_REQUESTS_PER_MINUTE:
    return '请求超过限制'
    else:
    redis_client.set(ip_address_or_user, num_requests + 1, ex=60)
    else:
    redis_client.set(ip_address_or_user, 1, ex=60)

  3. User-Agent检测:判断请求中的User-Agent头部信息是否符合正常浏览器的标准,可以使用以下代码示例:

    import requests

    发起HTTP请求时设置User-Agent头部信息

    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
    }

    发起请求

    response = requests.get(url, headers=headers)

  4. 动态加载数据:一些网站会使用JavaScript动态加载数据,可以使用Selenium或者Pyppeteer等自动化工具模拟用户操作来获取数据。示例代码如下:

    from selenium import webdriver

    使用Chrome浏览器驱动

    driver = webdriver.Chrome()

    打开网页

    driver.get(url)

    等待动态加载完成

    time.sleep(5)

    获取动态加载的数据

    data = driver.page_source

    关闭浏览器驱动

    driver.quit()

需要注意,使用反爬手段要遵守网站的规则和法律法规,不得进行非法活动。

本文由mdnice多平台发布

相关推荐
数据狐(Datafox)1 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机1 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6922 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy3 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽3 小时前
真实即粗糙,光滑是伪造
人工智能·python
一次旅行3 小时前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python
泡干脆面就番茄3 小时前
NumPy 科学计算完全指南:从数组创建到广播机制
python·numpy
denggun123454 小时前
信号量(DispatchSemaphore vs AsyncSemaphore)、swift协作式线程池 and python信号量
开发语言·python·swift
起光4 小时前
Python类与对象(一)
python
阿童木写作4 小时前
跨马翻译:AI批量图片翻译工具,视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频