Используйте файлы cookie и запросы Python Selenium для загрузки PDF из программы просмотра PDF-файлов.Python

Программы на Python
Anonymous
Используйте файлы cookie и запросы Python Selenium для загрузки PDF из программы просмотра PDF-файлов.

Сообщение Anonymous »

Я знаком с Selenium, но не знаком с Requests. Существует веб-страница, содержащая общедоступные PDF-файлы, но вам нужно перейти к каждому из них. Итак, мне хотелось бы перейти к этому URL-адресу с помощью Selenium, а затем использовать файлы cookie в запросах на загрузку PDF-файла.
Затем я собираюсь загрузить это решение в AWS лямбда, поэтому нажатие кнопки загрузки не является вариантом (и использование - "plugins.always_open_pdf_externally": True - в настройках Chrome).
Вот что я пробовал:
Я следую приведенным ниже инструкциям и перехожу к PDF-файл с селеном (код не будет включаться, потому что он длинный и простой, но я могу подтвердить, что нахожусь на странице просмотра PDF-файлов), а затем:

Код: Выделить всё

url = driver.current_url
cookies = driver.get_cookies()
s = requests.Session()
for cookie in cookies:
if 'httpOnly' in cookie:
httpO = cookie.pop('httpOnly')
cookie['rest'] = {'httpOnly': httpO}
if 'expiry' in cookie:
cookie['expires'] = cookie.pop('expiry')
s.cookies.set(**cookie)
filename = Path('myPDF.pdf')
response = s.get(url)
filename2.write_bytes(response.content)
print(response)
OUT: 
print(cookies)
OUT: [{'domain': '.pjud.cl', 'expiry': 1677609957, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.184425928.1614537957'}, {'domain': '.pjud.cl', 'expiry': 1614624357, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.739803934.1614537957'}, {'domain': '.oficinajudicialvirtual.pjud.cl', 'httpOnly': False, 'name': 'TS01262d1d', 'path': '/', 'secure': False, 'value': '01b485afe5b672a4e38a46b7a3a68bf7abce5fe06744257fa0f994999756bd24588a29453de9650e8fdfe73a401e5d854fe3c382a3b4a0677cbbe7d18acd3bc46c00faebd1'}, {'domain': '.pjud.cl', 'expiry': 1614538017, 'httpOnly': False, 'name': '_gat_gtag_UA_63880126_1', 'path': '/', 'secure': False, 'value': '1'}, {'domain': 'oficinajudicialvirtual.pjud.cl', 'httpOnly': False, 'name': 'PHPSESSID', 'path': '/', 'secure': False, 'value': '6f9a7ee252846eeb63a6cc2233dacf21'}]
print(s.cookies)
OUT: 

Вот пример URL-адреса.
Он сообщит вам, что срок сеанса истек, но вы можете следовать инструкциям ниже, чтобы получить к нему доступ.
Обратите внимание, что это средство просмотра PDF-файлов, и оно не заканчивается на .pdf (не знаю, имеет ли это значение)
Чтобы перейти к нему, вам нужно:
  • зайти в https://oficinajudicialvirtual.pjud.cl/home/index.php
  • наведите курсор на «Otros Servicios»
  • нажмите «Consulta de Causas»
  • В «Competencia» (выпадающее меню) поместите Corte Apelacions
  • в «Corte» (выпадающее меню), поставьте CA Santiago
  • в поле «Año» введите 2019
  • в «Libro/Tipo» (выпадающее меню) введите Civil
  • в поле «Rol» введите 2522 (все это те, которые я хочу очистить)
  • Нажмите «Buscar»
  • Появится только 1 результат, нажмите на увеличительное стекло слева
  • появится всплывающее окно с подробной информацией, нажмите «Expediente Primera Instancia».
  • нажмите на увеличительное стекло рядом с «Causa Origen».
  • нажмите на значок файла под «Texto/demanda». PDF-файл открывается в программе просмотра PDF-файлов на новой вкладке.
Созданный PDF-файл пуст, и в ответ возвращается . Помогите?
Нужно ли добавлять заголовки к запросу? Я не знаю, как это сделать. Спасибо!

Вернуться в «Python»