PHP爬虫嵌套GuzzleHttp异步请求遇403速率限制错误求助
问题分析与解决办法
- 这个403错误和香港政府网站的反爬限制无关,纯粹是代码逻辑错误导致的。
- 错误提示里的请求目标是
https://api.github.com/repos/guzzle/guzzle,但你的爬虫应该请求的是香港政府公告详情页,说明你在嵌套的异步回调里,不小心把请求URL写成了Guzzle示例代码里的GitHub API地址,或者变量传递时出错,用错了URL值。 - GitHub API有严格的请求频次限制,未授权请求的调用额度很低,短时间内多次请求就会触发403 rate limit。
修复步骤
- 检查嵌套异步请求的URL参数,确保使用的是之前爬取到的香港政府公告详情页URL,替换掉错误的GitHub API地址。
- 排查URL变量的传递逻辑,确认回调函数里拿到的是正确的公告详情页地址,没有被其他代码覆盖或赋值错误。
- 修正后爬取香港政府网站时,建议添加合理的请求间隔、设置规范的
User-Agent请求头,避免触发对方的反爬机制。
内容的提问来源于stack exchange,提问作者Lo Dennis
相关产品推荐
相关产品推荐

