pdf downloaden met python zonder link

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • MRkool
  • Registratie: Juli 2022
  • Laatst online: 26-08-2024
Mijn vraag;
Ik heb onderstaande code gebruikt om een pdf te downloaden van de website het resultaat is echter een pdf met html code
want er is geen link naar het pdf bestand de pdf wordt genereerd als je op de knop drukt rechts boven de website
wat is de handigste manier om zo een uittreksel met DKK kaart en orientatie

...

Relevante software en hardware die ik gebruik; Python + Anconda kite
...

Wat ik al gevonden of geprobeerd heb
code:
1
2
3
4
5
6
7
8
9
import requests
url = "https://www.epadossier.nl/adres/plaats/straat/num"
response = requests.get(url)
if response.status_code == 200:
    with open("mijn straat en mijn huisnummer, mijn postcode plaats (2024-7-26).pdf", "wb") as file:
        file.write(response.content)
        print("File downloaded successfully!")
else:
    print("Failed to download the file.")

...

Alle reacties


Acties:
  • 0 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 15:51

skate master

Autodesk Educator Expert

De pdf is gewoon dat wat op je scherm zichtbaar is als je de website bekijkt.
Je krijgt nu een pdf met html code, je moet dus eerst de html omzetten naar een pdf.

Heb zelf geen kennis van Python, maar korte zoektocht op " Python html to pdf" levert genoeg op.
Bijvoorbeeld dit:
https://stackoverflow.com...-into-pdf-by-using-python

Acties:
  • 0 Henk 'm!

  • MRkool
  • Registratie: Juli 2022
  • Laatst online: 26-08-2024
Bedankt voor je bericht en je meedenken...


In de PDF staat minder privacy gevoelige informatie maar we alles wat essentieel is voor het uitvoeren van het project. Ik bedenk mij dat ik vergeten ben te schrijven dat de oriëntatie cruciaal is. Die moet eerst aangeklikt worden.

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Check of de site geen API heeft. Mogelijk dat daar wat kosten bij komen kijken maar het klinkt als een professioneel project. Als je op de site op download klikt krijg je gewoon een base64 encoded blob.

Alternatief kun je proberen met een headless firefox of chome(ium) te scripten. Er zijn tools die dat soort dingen automatiseren maar daar ben ik de naam even van kwijt. :) Selenium was het! Thanks @NESFreak!

[ Voor 6% gewijzigd door Room42 op 30-07-2024 11:07 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Nu online

CyBeRSPiN

sinds 2001

Die site gebruikt een Javascript library om de PDF te genereren, die gaat Python niet uit kunnen voeren.
Je zult een andere manier moeten vinden om dit te scrapen. Misschien kun je contact met ze opnemen voor een koppeling, als het commercieel gebruik is zal je wellicht ook eerst toestemming moeten hebben.

Acties:
  • +2 Henk 'm!

  • NESFreak
  • Registratie: December 2009
  • Laatst online: 14:49
Die pdf is effectief een screenshot.

Je kunt met selenium in python een screenshot van een website maken:

https://stackoverflow.com/a/6282203/2422450
Python:
1
2
3
4
5
from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.google.com/')
browser.save_screenshot('screenie.png')


Volgende voorbeelden gaan ook in op het maken van capture van de hele pagina, of van specifieke elementen. En het zetten van de dimensies etc: https://www.zenrows.com/blog/selenium-screenshot

[ Voor 24% gewijzigd door NESFreak op 30-07-2024 11:08 ]


Acties:
  • 0 Henk 'm!

  • Ben(V)
  • Registratie: December 2013
  • Laatst online: 14:36
Je zult die pagina die je krijgt moeten scrapen met een html scraper.
Zie bijvoorbeeld:
https://www.roborabbit.com/blog/top-5-python-html-parser/

Dan krijg je de data in Python en als je daar weer een pdf van nodig hebt zul je daar een pdf writer voor Python voor nodig hebben zoals een van deze:
https://apitemplate.io/bl...-generate-pdfs-in-python/

All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Pagina: 1