การขูดข้อมูลเว็บด้วย BeautifulSoup
ทำความเข้าใจวิธีดึงข้อมูลจากเว็บไซต์โดยใช้ Python
การขูดข้อมูลเว็บด้วย BeautifulSoup เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 5 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
บทนำเกี่ยวกับการดึงข้อมูลจากเว็บไซต์
บทนำเกี่ยวกับการดึงข้อมูลจากเว็บไซต์
การดึงข้อมูลจากเว็บไซต์คือกระบวนการดึงข้อมูลออกจากเว็บไซต์ ไลบรารี BeautifulSoup ของไพธอนช่วยให้แยกวิเคราะห์และเรียกดูเอกสาร HTML หรือ XML ได้ง่าย
ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีใช้ BeautifulSoup สำหรับการดึงข้อมูลจากเว็บไซต์

การติดตั้ง BeautifulSoup
การติดตั้ง BeautifulSoup
หากต้องการติดตั้ง BeautifulSoup และไลบรารี requests ที่จำเป็น ให้ใช้คำสั่งต่อไปนี้:
pip install beautifulsoup4pip install requests
เมื่อติดตั้งแล้ว คุณสามารถนำเข้าไลบรารีเหล่านี้ในสคริปต์ไพธอนของคุณได้:
# Importing BeautifulSoup
from bs4 import BeautifulSoup
import requests
print("BeautifulSoup imported successfully")การดึงเว็บเพจ
การดึงเว็บเพจ
คุณสามารถดึงเว็บเพจได้โดยใช้ไลบรารี requests:
# Fetching a web page
response = requests.get("https://example.com")
print(response.text) # Outputs the HTML contentการแยกวิเคราะห์ HTML ด้วย BeautifulSoup
การแยกวิเคราะห์ HTML ด้วย BeautifulSoup
BeautifulSoup มีเมธอดสำหรับแยกวิเคราะห์และเรียกดูเอกสาร HTML:
# Parsing HTML
html_content = "<html><body><h1>Hello, World!</h1></body></html>"
soup = BeautifulSoup(html_content, "html.parser")
print(soup.h1.text) # Outputs: Hello, World!การค้นหาองค์ประกอบ
การค้นหาองค์ประกอบ
BeautifulSoup มีเมธอด เช่น find() และ find_all() สำหรับค้นหาองค์ประกอบ:
# Finding elements
soup = BeautifulSoup("<html><body><p class='content'>Hello!</p><p>World!</p></body></html>", "html.parser")
element = soup.find("p", class_="content")
print(element.text) # Outputs: Hello!การดึงลิงก์
การดึงลิงก์
คุณสามารถดึงลิงก์ทั้งหมด หรือแท็ก <a> จากเว็บเพจได้:
# Extracting links
html = "<html><body><a href='https://example.com'>Example</a></body></html>"
soup = BeautifulSoup(html, "html.parser")
links = soup.find_all("a")
for link in links:
print(link['href']) # Outputs: https://example.comการดึงตาราง
การดึงตาราง
BeautifulSoup ช่วยให้ดึงข้อมูลจากตาราง HTML ได้ง่าย:
# Extracting table data
html = "<table><tr><td>Row 1</td></tr><tr><td>Row 2</td></tr></table>"
soup = BeautifulSoup(html, "html.parser")
rows = soup.find_all("tr")
for row in rows:
print(row.text) # Outputs: Row 1, Row 2การจัดการองค์ประกอบที่หายไป
การจัดการองค์ประกอบที่หายไป
BeautifulSoup มีเมธอดสำหรับจัดการองค์ประกอบที่หายไปอย่างปลอดภัย:
# Handling missing elements
soup = BeautifulSoup("<html><body></body></html>", "html.parser")
element = soup.find("p")
print(element) # Outputs: Noneข้อผิดพลาดทั่วไปในการใช้ BeautifulSoup
ข้อผิดพลาดทั่วไปในการใช้ BeautifulSoup
ต่อไปนี้คือข้อผิดพลาดที่ควรหลีกเลี่ยง:
- ไม่ใช้ตัวแยกวิเคราะห์ HTML ที่เหมาะสม เช่น
html.parserหรือlxml - ดึงเนื้อหาจากเว็บไซต์ที่บล็อกหรือมีการป้องกันโดยไม่ใช้ส่วนหัวที่เหมาะสม
- ดึงข้อมูลถี่เกินไป ซึ่งอาจทำให้ IP ของคุณถูกแบน
เราได้เรียนรู้อะไรบ้าง
เราได้เรียนรู้อะไรบ้าง
ในบทเรียนนี้ คุณได้เรียนรู้:
- วิธีติดตั้งและนำเข้า BeautifulSoup และไลบรารีสำหรับส่งคำขอ
- วิธีดึง แยกวิเคราะห์ และเรียกดูเนื้อหา HTML
- วิธีดึงองค์ประกอบเฉพาะ เช่น ลิงก์และตาราง
- วิธีจัดการองค์ประกอบที่หายไปอย่างปลอดภัย
ทำได้ดีมาก! ไปต่อยังหัวข้อถัดไปกันเลย

คำถามที่พบบ่อย
บทเรียน “การขูดข้อมูลเว็บด้วย BeautifulSoup” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การขูดข้อมูลเว็บด้วย BeautifulSoup” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การขูดข้อมูลเว็บด้วย BeautifulSoup”
ทำความเข้าใจวิธีดึงข้อมูลจากเว็บไซต์โดยใช้ Python คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 5 จากทั้งหมด 5 บทเรียน
บทเรียน “การขูดข้อมูลเว็บด้วย BeautifulSoup” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การวิเคราะห์ข้อมูลด้วย Pandas
- การแสดงข้อมูลด้วย Matplotlib
- NumPy สำหรับการคำนวณเชิงตัวเลข
- การจัดการเอพีไอด้วย requests
- การขูดข้อมูลเว็บด้วย BeautifulSoup