首页 > 解决方案 > coches.net 中使用请求的 403 响应

问题描述

我对网络抓取很陌生。我想在coches.net网络上做一些有趣的数据分析练习,但下面的代码总是返回 403 响应。

import requests
from bs4 import BeautifulSoup
import time

headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
base_url = 'https://www.coches.net/segunda-mano/?pg={}&st=1'


for counter in range(1,80):
    url = base_url.format(counter)
    # Get links
    response = requests.get(url)
    print (response.status_code)
    soup = BeautifulSoup(response.content, "html.parser")
    blocks = soup.select('.mt-Card-body')
    print (blocks)
    time.sleep(1)

我一直在查看一些网页(实际上我的代码受到了我迄今为止发现的内容的强烈启发),看起来我的代码应该没问题。有什么帮助吗?如何避免 403 响应?是因为我的代码还是 coches.net 不允许 python 脚本访问?

标签: pythonweb-scrapingbeautifulsouphttp-status-code-403

解决方案


您已创建标题但不使用它们。尝试使用您的用户代理,您将获得200状态码

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

如果我帮助你 - 请将答案标记为正确


推荐阅读