我试图从一个在网页中选择一些选项后填充的表中刮取名称。这是在该站点中生成表的options。但是,当我尝试使用下面的脚本执行相同操作时,我总是获得状态500。我成功地使用了硒,所以我不想要任何基于硒的解决方案
到目前为止,我写过:
import requests
from bs4 import BeautifulSoup
link = 'https://rederef-saude.appspot.com/proximidade/prestador/buscar?'
params = {
'canal': '1',
'latitude': '-23.5505199',
'longitude': '-46.63330939999999',
'categoria': '1',
'produto': '557',
'plano': '18051',
'nome': '',
'qualificacoes': '',
'prefixoEmpresa': '',
'empresa': '',
'especialidade': '',
'procedimento': '',
'tipoPesquisaProcedimento': '1',
'raio': '200000'
}
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
'referer': 'https://rederef-saude.appspot.com/rederef/buscaPrestadores?login=publico&canal=1&data=23/04/2021&hora=00:16:55&tipoProduto=M&produto=557&plano=18051',
'x-requested-with': 'XMLHttpRequest',
'content-type': 'application/json;charset=utf-8',
'accept': '*/*',
'captcha-token': ''
}
with requests.Session() as s:
s.headers = headers
res = s.get(link,params=params)
print(res.status_code)
How can I scrape the names from that table using requests?
当检查请求时,它确实有recaptcha保护,只是它处于一种不可见模式,只有在需要时才会显示,这甚至需要来自第一次调用的Cookie,否则它将给出无效的会话错误,因此对于recaptcha自动化解决方案(付费但相当便宜),他们的各种提供商为它提供ex:2Captcha,反验证码、CapMonster等 我使用了2Captcha,您可以按照下面的代码操作。 对2Captcha Library的引用
不要忘记更新上面代码中的
Twocaptcha API KEY
。 你可以使用任何你觉得合适的供应商。 输出将采用json格式,因此无需使用BeautifulSoup
输出:如果您有任何问题,请告诉我:)
相关问题 更多 >
编程相关推荐