尝试抓取单个网站页面时出现 503 错误 | Python |要求

503 Error When Trying To Crawl One Single Website Page | Python | Requests

目标: 我正在尝试从此页面抓取 HTML:https://www.doherty.jobs/jobs/search?q=&l=&lat=&long=&d=.

(注意 - 我最终会想要分页并从该页面抓取所有工作列表)

我的问题: 当我尝试使用 Python 和 Requests 抓取页面时出现 503 错误。我正在使用 Google Colab。

初始代码:

import requests

url = 'https://www.doherty.jobs/jobs/search?q=&l=&lat=&long=&d='

response = requests.get(url)

print(response)

尝试的解决方案:

  1. 使用'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
  2. 实现我在另一个线程中找到的代码:
import requests

def getUrl(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
    }
    res = requests.get(url, headers=headers)
    res.raise_for_status()

getUrl('https://www.doherty.jobs/jobs/search?q=&l=&lat=&long=&d=')

我可以通过浏览器访问该网站。

还有什么我可以尝试的吗?

谢谢

该页面受 cloudflare 保护,有一些选项可以尝试绕过它,似乎使用 cloudscraper 有效:

import cloudscraper

scraper = cloudscraper.create_scraper()
url = 'https://www.doherty.jobs/jobs/search?q=&l=&lat=&long=&d='

response = scraper.get(url).text

print(response)

为了使用它,您需要安装它:

pip install cloudscraper