Comment extraire des mots de PDF avec Python – Meilleure programmation

Online Coding Courses for Kids

Pour ce didacticiel, j’utiliserai Python 3.6.3. Vous pouvez utiliser n’importe quelle version de votre choix (tant qu’elle prend en charge les bibliothèques pertinentes).

Vous aurez besoin des bibliothèques Python suivantes pour suivre ce tutoriel:

  • PyPDF2 (pour convertir des fichiers PDF simples et textuels en texte lisible par Python)

Chacune de ces bibliothèques peut être installée avec les commandes suivantes dans le terminal (sur macOS):

pip install PyPDF2pip install textractpip install nltk

Cela permettra de télécharger les bibliothèques dont vous avez besoin pour analyser des documents PDF et extraire des mots clés. Pour ce faire, assurez-vous que votre fichier PDF est stocké dans le dossier où vous écrivez votre script.

Démarrez votre éditeur préféré et tapez:

Note: All lines starting with # are comments.

Étape 1: importez toutes les bibliothèques

import PyPDF2 
import textract
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords

Étape 2: lire le fichier PDF

#Write a for-loop to open many files (leave a comment if you'd like to learn how).filename = 'enter the name of the file here' #open allows you to read the file.pdfFileObj = open(filename,'rb')#The pdfReader variable is a readable object that will be parsed.pdfReader = PyPDF2.PdfFileReader(pdfFileObj)#Discerning the number of pages will allow us to parse through all the pages.num_pages = pdfReader.numPages
count = 0
text = ""
#The while loop will read each page.
while count < num_pages:
pageObj = pdfReader.getPage(count)
count +=1
text += pageObj.extractText()
#This if statement exists to check if the above library returned words. It's done because PyPDF2 cannot read scanned files.if text != "":
text = text
#If the above returns as False, we run the OCR library textract to #convert scanned/image based PDF files into text.else:
text = textract.process(fileurl, method='tesseract', language='eng')
#Now we have a text variable that contains all the text derived from our PDF file. Type print(text) to see what it contains. It likely contains a lot of spaces, possibly junk such as 'n,' etc.#Now, we will clean our text variable and return it as a list of keywords.

Étape 3: convertir du texte en mots clés

#The word_tokenize() function will break our text phrases into individual words.tokens = word_tokenize(text)#We'll create a new list that contains punctuation we wish to clean.
punctuations = ['(',')',';',':','[',']',',']
#We initialize the stopwords variable, which is a list of words like "The," "I," "and," etc. that don't hold much value as keywords.stop_words = stopwords.words('english')#We create a list comprehension that only returns a list of words that are NOT IN stop_words and NOT IN punctuations.keywords = [word for word in tokens if not word in stop_words and not word in punctuations]

Vous avez maintenant des mots clés pour votre fichier stockés sous forme de liste. Vous pouvez en faire ce que vous voulez. Stockez-le dans une feuille de calcul si vous souhaitez rendre le PDF consultable ou analyser un grand nombre de fichiers et effectuer une analyse de cluster. Vous pouvez également l’utiliser pour créer un système de recommandation de CV pour les travaux.

J’espère que ce tutoriel vous a été utile! Si vous avez des demandes, souhaitez des éclaircissements ou trouvez un bug, faites-le moi savoir!

Close Menu