Python爬虫:添加随机延迟,模拟真实用户行为
好的,这里我给你添加了随机延迟的代码。延迟时间将在0.5秒到1.5秒之间随机选择:
import requests
from bs4 import BeautifulSoup
import time
import tkinter as tk
import webbrowser
from PIL import ImageTk, Image
import random
def crawl_baidu(keyword):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
url = f"https://www.baidu.com/s?wd={keyword}"
# 添加随机延迟
delay = random.uniform(0.5, 1.5)
time.sleep(delay)
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
results = []
for result in soup.find_all("div", class_="result"):
result_title = result.find("h3").get_text()
result_url = result.find("a")["href"]
result_image = result.find("img")
if result_image:
result_image_url = result_image["src"]
else:
result_image_url = None
results.append((result_title, result_url, result_image_url))
return results
# 其他代码保持不变
这样,每次发送请求之前都会随机选择一个延迟时间在0.5秒到1.5秒之间,以模拟真实用户的行为。希望这次的修改满足了你的要求。如果还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/rTE 著作权归作者所有。请勿转载和采集!