2
$\begingroup$

I would like to do an experiment. I would like to get the following data: advisor education rank (Ing., Bc. etc), number of pages in the thesis, number of citations etc for each student about thesis works from my school, but unfortunately all of this data is in 3 different PDFs.

Is there any way I could (ideally not too slowly, since I would like to use a large data set) gather this information from PDF? Or perhaps look for this data elsewhere?

On the website the metadata is only basic, such as name of the advisor, student and the title.

I've edited my question to clarify that not all of them are in the same place. I guess I would have to use some sort of web crawler?

EDIT 2: I have looked into PyPDF as recommended and the problem that I see is that the data from the PDF that I want is for example the grade which is just some number somewhere in the PDF, or the professor title which will be different for every file.

$\endgroup$
3
  • $\begingroup$ How structured is this pdf? You can use tesseract or maybe pypdf (only works if it is not scanned file). $\endgroup$ Nov 21, 2019 at 14:34
  • $\begingroup$ All of them have exactly the same structure. It is not scanned. I've edited my question to clarify that not all of them are in the same place. I guess I would have to use some sort of web crawler? $\endgroup$
    – vojtak
    Nov 21, 2019 at 14:36
  • $\begingroup$ Would help if you could link and example PDF and/or the website. $\endgroup$
    – Edmund
    Dec 24, 2019 at 18:39

1 Answer 1

1
$\begingroup$

I suggest to first parse the pdfs to raw text and then retrieve the information in the next step. I assume you use Python.

As commented, you can use PyPDF2 to obtain the raw text and the number of pages of the documents. Alternatively you can use cloud services such as AWS Textract to parse multiple pdfs to raw text.

You may then apply regular expressions, for example re.findall() with specific matching patterns to the parsed pdf documents to match the terms you seek to find.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.