有没有一种方法可以下载更改内容的URL,但不能使用python下载Selenium中的URL?

时间:2019-08-25 13:18:10

标签: python-3.x selenium web-scraping

我正在尝试编写新的剪贴工具。我已经可以选择单选按钮,完成搜索框等等。

我当前的问题是保存以下指定的此类网址:

![1]:https://imgur.com/NonmCGV

![2]:https://imgur.com/ZCvySoS

直到现在,我已经尝试使用某些模块,例如wget和urllib.request。

driver.get("https://www.tjrs.jus.br/buscas/jurisprudencia/?aba=jurisprudencia")

time.sleep(2)

datade = driver.find_elements_by_xpath(".//input[@type='text'][@id='data_julgamento_de']")
datade[0].send_keys('20/04/2019')
datade[0].submit()

dataate = driver.find_elements_by_xpath(".//input[@type='text'][@id='data_julgamento_ate']")
dataate[0].send_keys('30/04/2019')
dataate[0].submit()

time.sleep(10)

links = driver.find_elements_by_xpath(".//span[@class='exibir_html']")

for k in range(0,len(links)): 
    print("cod_ementa["+str(k)+"]="+str(links[k].get_attribute('cod_ementa')))

links[0].click()

print(driver.current_url)

urllib.request.urlretrieve('https://www.tjrs.jus.br/buscas/jurisprudencia/exibe_html.php', "test.txt")

我想将内容下载到这样的文件中:html file of static url

1 个答案:

答案 0 :(得分:0)

内容是从xhr调用中动态检索的,您可以在“网络”标签中查看。它返回json。您只需对请求进行POST请求即可获取所有内容并根据需要进行解析。

import requests

data = {
  'action': 'consultas_solr_ajax',
  'metodo': 'buscar_resultados',
  'parametros': 'aba=jurisprudencia&realizando_pesquisa=1&pagina_atual=1&q_palavra_chave=&conteudo_busca=ementa_completa&filtroComAExpressao=&filtroComQualquerPalavra=&filtroSemAsPalavras=&filtroTribunal=-1&filtroRelator=-1&filtroOrgaoJulgador=-1&filtroTipoProcesso=-1&filtroClasseCnj=-1&assuntoCnj=-1&filtroReferenciaLegislativa=&filtroJurisprudencia=&filtroComarcaOrigem=&filtroAssunto=&data_julgamento_de=20%2F04%2F2019&data_julgamento_ate=30%2F04%2F2019&filtroNumeroProcesso=&data_publicacao_de=&data_publicacao_ate=&facet=on&facet.sort=index&facet.limit=index&wt=json&ordem=desc&start=0'
}

r = requests.post('https://www.tjrs.jus.br/buscas/jurisprudencia/ajax.php', data=data).json()