明智地尝试抓取但由于复杂的标头而无法实现

问题描述 投票:0回答:1

我正在尝试抓取一些链接,但无法。我使用开发人员工具查看请求标头,如下:

headers = {
      'authority': 'www.some-website.com',
      'method': 'GET',
      'path': '/kapi/secure/search-api?query=cholera&page=1',
      'scheme': 'https',
      'accept': 'application/json, text/plain, */*',
      'accept-encoding': 'gzip, deflate, br',
      'accept-language': 'en-GB,en-US;q=0.9,en;q=0.8',
      'client_id': 'ffoesvm90e-6323-4asdac-a349-e78acdd2de60',
      'cookie': 'gtinfo="ct":"Pune","c":null,"cc":null,"st":"MH","sc":null,"z":"411006","tPX7NGuJNduSQ=',
      'enc_data': 'yeJuSFb2zdRB3EB5xBXdOdfdJSbCkOsvoOowRSK2AgY=',
      'if-modified-since': 'Thu, 07 Feb 2024 13:52:33 GMT',
      'if-none-match': 'W/"48b2-B0FEMq5XbvUKqxfj4LwSdKJCVWI"',
      'referer': f'https://www.some-website.com/search?query=cholera',
      'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"',
      'sec-ch-ua-mobile': '?0',
      'sec-ch-ua-platform': '"Linux"',
      'sec-fetch-dest': 'empty',
      'sec-fetch-mode': 'cors',
      'sec-fetch-site': 'same-origin',
      'timestamp': '1707410436',
      'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
      }

但是复制这些标头并使用 Python 中的请求发送,一段时间后就不起作用了。它只能工作几分钟。是因为更改了“enc_data”和标头的其他属性吗? 如何才能从网站获得正确的响应? 谢谢。

web-scraping https python-requests
1个回答
0
投票

你可以尝试支持http2的httpx,很多网站都会屏蔽http1请求。

© www.soinside.com 2019 - 2024. All rights reserved.