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ドキュメントファイルで使用可能なすべてのハイパーリンクが印刷されます。
-
PythonTkinter用のPDFビューア
Pythonは、さまざまな機能、プロパティ、ユースケースに対応するライブラリと拡張機能の大規模なセットでよく知られています。 PDFファイルを処理するために、Pythonは PyPDF2を提供します 複数のページの処理、抽出、マージ、PDFファイルの暗号化などが可能なツールキット。これは、PDFなどのファイルストリームを管理および操作するための非常に便利なパッケージです。 PyPDF2を使用して、ローカルディレクトリからPDFファイルを選択して開くようにユーザーに求めることでPDFファイルを読み取るTkinterアプリケーションを作成します。 アプリケーションを作成するには、以下の手順に従い
-
Pythonを使用してPDFをCSVに変換する
Pythonは、パッケージの膨大なライブラリでよく知られています。ライブラリの助けを借りて、PDFをCSVファイルに変換する方法を見ていきます。 CSVファイルは、一連の行と列とともにフレーム化されたデータのコレクションに他なりません。 PythonライブラリにはPDFをCSVに変換するためのさまざまなパッケージがありますが、Tabula-pyモジュールを使用します 。 tabula-pyの大部分はJavaで記述されており、最初にPDFドキュメントを読み取り、PythonDataFrameをJSONオブジェクトに変換します。 tabula-pyを使用するには、システムにJavaがプリインスト