Python 爬虫技巧:使用 time.sleep() 函数实现反爬虫
在使用 Python 进行爬虫时,可以使用 time 模块的 sleep 函数来实现反爬虫措施,通过暂停程序执行一段时间来模拟人的操作,从而降低被网站封禁或触发反爬虫机制的风险。
在爬取网页内容时,可以在每次请求之前使用 sleep 函数来添加延时,示例代码如下:
import time
import requests
def crawl(url):
# 发送请求前暂停1秒
time.sleep(1)
response = requests.get(url)
# 其他处理逻辑
...
# 示例调用
crawl('http://example.com')
在上述示例中,使用 time.sleep(1) 函数暂停程序执行1秒钟,模拟了人的操作。根据网站的反爬虫策略和实际情况,可以适当调整延时的时间。
此外,还可以结合随机延时来增加反爬虫的效果,示例代码如下:
import time
import random
import requests
def crawl(url):
# 随机生成1到3秒的延时
delay = random.randint(1, 3)
time.sleep(delay)
response = requests.get(url)
# 其他处理逻辑
...
# 示例调用
crawl('http://example.com')
在上述示例中,使用 random.randint(1, 3) 函数随机生成1到3秒的延时,增加了反爬虫的随机性。
需要注意的是,使用 sleep 函数来实现反爬虫措施只是一种简单的方式,对于一些复杂的反爬虫机制可能无法有效应对。在进行爬虫时,还需要遵守网站的爬取规则,尊重网站的服务器负载,避免给网站带来过大的压力。
原文地址: https://www.cveoy.top/t/topic/qC3f 著作权归作者所有。请勿转载和采集!