好的,这里我给你添加了随机延迟的代码。延迟时间将在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秒之间,以模拟真实用户的行为。希望这次的修改满足了你的要求。如果还有其他问题,请随时提问。

Python爬虫:添加随机延迟,模拟真实用户行为

原文地址: https://www.cveoy.top/t/topic/rTE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录