Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แยกไฮเปอร์ลิงก์จาก PDF ใน Python


Python มีชุดไลบรารีขนาดใหญ่สำหรับจัดการการดำเนินการประเภทต่างๆ ในการดึงข้อมูลและข้อมูลเมตาจาก PDF เราใช้แพ็คเกจ PyPdf2 ใช้งานง่ายและมีการทำงานหรือชุดเครื่องมือต่างๆ มากมาย เช่น การดึงข้อมูลจาก PDF การค้นหาคำสำคัญในเอกสาร การดึงข้อมูล Meta เช่น การค้นหาไฮเปอร์ลิงก์ URL และข้อมูลอื่นๆ โดยใช้แพ็คเกจ PyPDF2 เราจะแยกไฮเปอร์ลิงก์ออกจากเอกสาร pdf

เราจะทำตามขั้นตอนเหล่านี้เพื่อแยกไฮเปอร์ลิงก์จาก PDF

  • ติดตั้ง PyPDF2 ในเครื่องท้องถิ่นโดยพิมพ์ pip install PyPDF2 ในเชลล์คำสั่ง

  • นำเข้า PyPDF2

  • เปิดไฟล์ใน โหมดไบนารี และจดจำรูปแบบของ URL ในไฟล์ได้

  • กำหนดฟังก์ชันเพื่อแยก ลิงก์ สำหรับหน้าใดหน้าหนึ่ง

  • วนซ้ำทุกหน้าและแยกข้อความโดยใช้ extractText() ฟังก์ชัน

  • ในการแยกไฮเปอร์ลิงก์ออกจาก PDF เรามักใช้ Pattern Matching Concept ใน Python ตอนนี้ นำเข้าใหม่ เพื่อค้นหารูปแบบโดยใช้นิพจน์ทั่วไป

  • ค้นหารูปแบบที่ตรงกับ https:// หรือ https:// โดยใช้ findall(regex, string) .

  • หากพบ 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 ที่กำหนด

แยกไฮเปอร์ลิงก์จาก PDF ใน Python