परिवर्तित यूरोस्टेट सामग्री की तालिका पीडीएफ के लिए JSON

0

सवाल

के बाद से वहाँ है कोई सुलभ एपीआई के लिए यूरोस्टेट डेटा, प्रत्येक क्वेरी जाना चाहिए मैन्युअल रूप से बनाया मैंने पाया इस सामग्री की तालिका और मैं चाहता हूँ करने के लिए इसे निकालने के लिए एक खोज JSON. फ़ाइल में कर रहे हैं अनुभाग के शीर्षक, और प्रत्येक पत्ती पर 3 लिंक, लेकिन मैं कैसे कर सकते हैं कनेक्ट लिंक और खिताब और वर्गों में एक JSON?

मैं इस बुनियादी कोड:

PDFFile = open("table_of_contents_en.pdf",'rb')

PDF = PyPDF2.PdfFileReader(PDFFile)
pages = PDF.getNumPages()
key = '/Annots'
uri = '/URI'
ank = '/A'

for page in range(1,2):
    print("Current Page: {}".format(page))
    pageSliced = PDF.getPage(page)
    pageObject = pageSliced.getObject()
    if key in pageObject.keys():
        ann = pageObject[key]
        for a in ann:
            u = a.getObject()
            if uri in u[ank].keys():
                print(u[ank][uri])

और इस पाठ के लिए:

pdfFileObj = open('table_of_contents_en.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
print(pdfReader.numPages)
pageObj = pdfReader.getPage(0)
print(pageObj.extractText())
pdfFileObj.close()

और इस के लिए डाउनलोड ज़िप:

for page in range(1,2):
    print("Current Page: {}".format(page))
    pageSliced = PDF.getPage(page)
    pageObject = pageSliced.getObject()
    if key in pageObject.keys():
        ann = pageObject[key]
        for a in ann:
            u = a.getObject()
            if uri in u[ank].keys():
                print(u[ank][uri])
            if str(u[ank].keys()).find(".tsv.gz") != -1 :
                url = str(u[ank].keys())
                r = requests.get(url, allow_redirects=True)
                print(str(str(str(u[ank].keys()).split("/")[-1]).split(".")[0])
                open(str(str(str(u[ank].keys()).split("/")[-1]).split(".")[0]), 'wb').write(r.content)

लेकिन मैं कैसे कर सकते हैं यह एक ही समय में सही ढंग से, कुछ संरचित डेटा?

database json pdf python
2021-11-21 05:20:43
1

सबसे अच्छा जवाब

0

इस तरह की कोशिश करो, यह नहीं होगा एक JSON, लेकिन फ़ाइलों की सूची में एक फ़ोल्डर में परिवर्तित किया जा सकता करने के लिए, यहाँ है कैसे करने के लिए फ़ाइलों को प्राप्त:

import PyPDF2
import requests

PDFFile = open("table_of_contents_en.pdf",'rb')

PDF = PyPDF2.PdfFileReader(PDFFile)
pages = PDF.getNumPages()
key = '/Annots'
uri = '/URI'
ank = '/A'

for page in range(pages):
    print("Current Page: {}".format(page))
    pageSliced = PDF.getPage(page)
    pageObject = pageSliced.getObject()
    if key in pageObject.keys():
        ann = pageObject[key]
        for a in ann:
            u = a.getObject()
            # if uri in u[ank].keys():
            #   print(u[ank][uri])
            if str(u[ank][uri]).find(".tsv.gz") != -1 :
                url = str(u[ank][uri])
                try:
                    r = requests.get(url, allow_redirects=True)
                    print(str(str(str(url).split("/")[-1]).split(".")[0]))
                    open(str(str(url).split("/")[-1]), 'wb').write(r.content)
                except:
                    print("ERROR ON" + url)

उपयोग:

  1. डाउनलोड सामग्री की मेज से फाइल यूरोस्टेट: http://ec.europa.eu/eurostat/estat-navtree-portlet-prod/BulkDownloadListing?sort=1&file=table_of_contents_en.pdf
  2. चलाने के लिए python3 ऊपर कोड के साथ संपादित फ़ाइल नाम, अगर यह बदल गया है.
  3. निकालने के साथ कुछ उपकरण डाउनलोड .gz फ़ाइलें (सुझाव: कैसे करने के लिए खोलना gz फ़ाइल का उपयोग कर अजगर )
  4. हटाना .gz फ़ाइलें.

पूरा कोड है: https://github.com

2021-11-21 16:14:06

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में