以下是一个使用代理 IP 进行请求的完整代码示例,用于爬取百度搜索结果:

import requests
from bs4 import BeautifulSoup

# 代理IP配置
proxies = {
    'http': 'http://v259.kdltps.com:15818',
    'https': 'https://v259.kdltps.com:15818',
}

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}'
    response = requests.get(url, headers=headers, proxies=proxies)
    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

# 测试使用代理IP进行请求
search_keyword = 'python'
search_results = crawl_baidu(search_keyword)
for index, (title, url, image_url) in enumerate(search_results, start=1):
    print(f'{index}. {title}')
    print(f'   URL: {url}')
    if image_url:
        print(f'   Image: {image_url}')
    print()

在这个示例中,我们定义了一个 crawl_baidu 函数,它使用代理 IP 进行百度搜索。具体的代理 IP 地址和端口信息已添加到 proxies 字典中。你可以根据你的实际代理 IP 的信息进行相应的替换。

然后我们测试了使用代理 IP 进行搜索,将搜索结果打印出来。你可以根据你的实际需求进行相应的处理和操作。

请注意,这只是一个示例,实际使用时,你需要确保代理 IP 的有效性和稳定性,并根据你的具体需求进行相应的处理。

希望这个示例对你有所帮助!如果还有其他问题,请随时提问。


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

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