我正在尝试通过mechanize
模块通过 python 执行自动化任务:
- 在 Web 表单中输入关键字,提交表单。
- 在响应中查找特定元素。
这是一次性的。现在,我对关键字列表重复此任务。
并且收到 HTTP 错误 429(请求太多)。
我尝试了以下方法来解决此问题:
添加自定义标头(我通过使用代理专门为该网站记录了它们),使其看起来是合法的浏览器请求。
br=mechanize.Browser() br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36')] br.addheaders = [('Connection', 'keep-alive')] br.addheaders = [('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')] br.addheaders = [('Upgrade-Insecure-Requests','1')] br.addheaders = [('Accept-Encoding',' gzip, deflate, sdch')] br.addheaders = [('Accept-Language','en-US,en;q=0.8')]`
由于每 5 个请求就会出现阻塞响应,因此我尝试在 5 个请求后休眠 20 秒。
这两种方法都不起作用。