Python - แยก URL จากข้อความ

การแยก URL ทำได้จากไฟล์ข้อความโดยใช้นิพจน์ทั่วไป นิพจน์จะดึงข้อความทุกที่ที่ตรงกับรูปแบบ ใช้เฉพาะโมดูล re เพื่อจุดประสงค์นี้

ตัวอย่าง

เราสามารถนำไฟล์อินพุตที่มี URL บางส่วนและประมวลผลโดยใช้โปรแกรมต่อไปนี้เพื่อแยก URL findall()ฟังก์ชันใช้เพื่อค้นหาอินสแตนซ์ทั้งหมดที่ตรงกับนิพจน์ทั่วไป

ไฟล์ Inout

แสดงเป็นไฟล์อินพุตด้านล่าง ซึ่งประกอบด้วย teo URL

Now a days you can learn almost anything by just visiting http://www.google.com. But if you are completely new to computers or internet then first you need to leanr those fundamentals. Next
you can visit a good e-learning site like - https://www.tutorialspoint.com to learn further on a variety of subjects.

ตอนนี้เมื่อเรานำไฟล์อินพุตด้านบนและประมวลผลผ่านโปรแกรมต่อไปนี้เราจะได้ผลลัพธ์ที่ต้องการซึ่งจะให้เฉพาะ URL ที่แยกจากไฟล์

import re
 
with open("path\url_example.txt") as file:
        for line in file:
            urls = re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', line)
            print(urls)

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

['http://www.google.com.']
['https://www.tutorialspoint.com']