Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでPDFからハイパーリンクを抽出する


Pythonには、さまざまなタイプの操作を処理するためのライブラリの大規模なセットがあります。 PDFからデータとメタ情報を抽出するには、PyPdf2パッケージを使用します。使いやすく、PDFからのデータの抽出、ドキュメント内のキーワードの検索、ハイパーリンク、URL、その他の情報の検索などのメタ情報の抽出など、さまざまな操作やツールキットがあります。 PyPDF2パッケージを使用して、PDFドキュメントからハイパーリンクを抽出します。

次の手順に従って、PDFからハイパーリンクを抽出します

  • pip install PyPDF2 と入力して、ローカルマシンにPyPDF2をインストールします。 コマンドシェルで。

  • PyPDF2をインポートします。

  • バイナリモードでファイルを開きます ファイル内のURLのパターンを認識します。

  • リンクを抽出する関数を定義します 特定のページについて。

  • すべてのページを繰り返し、 extractText()を使用してテキストを抽出します 機能。

  • PDFからハイパーリンクを抽出するには、通常、Pythonのパターンマッチングの概念を使用します。今度は再インポート 正規表現を使用してパターンを見つける。

  • findall(regex、string)を使用して、 http://またはhttps://と一致するパターンを検索します。 。

  • URLが見つかった場合は、そのURLを返し、画面に印刷します。

# Import necessary packages
import PyPDF2
import re
# Open The File in the Command
file = open("newfile.pdf", 'rb')
readPDF = PyPDF2.PdfFileReader(file)
def find_url(string):
   #Find all the String that matches with the pattern
   regex = r"(https?://\S+)"
   url = re.findall(regex,string)
   for url in url:
      return url
# Iterating over all the pages of File
for page_no in range(readPDF.numPages):
   page=readPDF.getPage(page_no)
   #Extract the text from the page
   text = page.extractText()
   # Print all URL
   print(find_url(text))
# CLost the file
file.close()

出力

上記のコードを実行すると、指定されたPDFドキュメントファイルで使用可能なすべてのハイパーリンクが印刷されます。

PythonでPDFからハイパーリンクを抽出する


  1. PythonTkinter用のPDFビューア

    Pythonは、さまざまな機能、プロパティ、ユースケースに対応するライブラリと拡張機能の大規模なセットでよく知られています。 PDFファイルを処理するために、Pythonは PyPDF2を提供します 複数のページの処理、抽出、マージ、PDFファイルの暗号化などが可能なツールキット。これは、PDFなどのファイルストリームを管理および操作するための非常に便利なパッケージです。 PyPDF2を使用して、ローカルディレクトリからPDFファイルを選択して開くようにユーザーに求めることでPDFファイルを読み取るTkinterアプリケーションを作成します。 アプリケーションを作成するには、以下の手順に従い

  2. Pythonを使用してPDFをCSVに変換する

    Pythonは、パッケージの膨大なライブラリでよく知られています。ライブラリの助けを借りて、PDFをCSVファイルに変換する方法を見ていきます。 CSVファイルは、一連の行と列とともにフレーム化されたデータのコレクションに他なりません。 PythonライブラリにはPDFをCSVに変換するためのさまざまなパッケージがありますが、Tabula-pyモジュールを使用します 。 tabula-pyの大部分はJavaで記述されており、最初にPDFドキュメントを読み取り、PythonDataFrameをJSONオブジェクトに変換します。 tabula-pyを使用するには、システムにJavaがプリインスト