Как я могу получить ссылку из этого содержимого таблицы (я думаю, это javascript)? (Без селена) - PullRequest
1 голос
/ 02 октября 2019

Я пытаюсь получить href из этих таблиц, но в HTML-код недоступен. [отредактировано @ 15:44 10/02/2019] Я буду ежедневно просматривать этот сайт и другие сайты, похожие на этот, и сравнивать с данными "вчера". Поэтому я ежедневно получаю новую информацию в этих данных. [/ edited]

Я нашел похожее (но более простое) решение, но оно использует chromedriver ( link ). Я ищу решение, которое не использует Selenium.

Сайт: http://web.cvm.gov.br/app/esforcosrestritos/#/detalharOferta?ano=MjAxOQ%3D%3D&valor=MTE%3D&comunicado=MQ%3D%3D&situacao=Mg%3D%3D

Если вы нажмете на первую часть таблицы (как показано ниже) enter image description here

Вы попадете на этот сайт: http://web.cvm.gov.br/app/esforcosrestritos/#/enviarFormularioEncerramento?type=dmlldw%3D%3D&ofertaId=ODc2MA%3D%3D&state=eyJhbm8iOiJNakF4T1E9PSIsInZhbG9yIjoiTVRFPSIsImNvbXVuaWNhZG8iOiJNUT09Iiwic2l0dWFjYW8iOiJNZz09In0%3D

Как я могу удалить первый сайт, чтобы получить все ссылки в таблицах? (перейти ко вторым "ссылкам")

Когда я использую request.get, он даже не получает содержимое таблицы. Любая помощь?

link_cvm = "http://web.cvm.gov.br/app/esforcosrestritos/#/detalharOferta?ano=MjAxOQ%3D%3D&valor=MTE%3D&comunicado=MQ%3D%3D&situacao=Mg%3D%3D"
import requests
html_code = requests.get(link_cvm)
html_code.text
print(html_code)

1 Ответ

1 голос
/ 02 октября 2019

Вторая страница, на которую вы попали, динамически загружается с помощью jscript. Данные, которые вы ищете, содержатся на другой странице в формате json. Поиск вокруг, есть много информации об этом, для одного, из многих, например, посмотрите это .

В вашем случае, вы можете добраться до него следующим образом:

import requests
import json

url = 'http://web.cvm.gov.br/app/esforcosrestritos/enviarFormularioEncerramento/getOfertaPorId/8760'
resp = requests.get(url)

data = json.loads(resp.content)
print(data)

Вывод информации на этой странице.

...