แปลงหน้าเว็บเป็นข้อมูลด้วย BeautifulSoup: การดึงข้อความ
ในแบบฝึกหัดต่อไปนี้ เราจะเรียนรู้พื้นฐานการดึงข้อมูลจาก HTML soup ในแบบฝึกหัดนี้ จะได้ฝึกดึงข้อความจากหน้าเว็บของ BDFL พร้อมกับพิมพ์ชื่อหน้าเว็บออกมาด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย Python ระดับกลาง
คำแนะนำการฝึกหัด
- ในโค้ดตัวอย่าง อ็อบเจกต์การตอบสนอง HTML
html_docถูกสร้างไว้แล้ว งานแรกคือนำมา Soupify ด้วยฟังก์ชันBeautifulSoup()แล้วกำหนดค่า soup ที่ได้ให้กับตัวแปรsoup - ดึง title จาก HTML soup
soupโดยใช้ attributetitleแล้วกำหนดผลลัพธ์ให้กับguido_title - พิมพ์ชื่อหน้าเว็บของ Guido ออกมาที่ shell โดยใช้ฟังก์ชัน
print() - ดึงข้อความจาก HTML soup
soupโดยใช้เมธอดget_text()แล้วกำหนดให้กับguido_text - กด ส่งคำตอบ เพื่อพิมพ์ข้อความจากหน้าเว็บของ Guido ออกมาที่ shell
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import packages
import requests
from bs4 import BeautifulSoup
# Specify url: url
url = 'https://www.python.org/~guido/'
# Package the request, send the request and catch the response: r
r = requests.get(url)
# Extract the response as html: html_doc
html_doc = r.text
# Create a BeautifulSoup object from the HTML: soup
# Get the title of Guido's webpage: guido_title
# Print the title of Guido's webpage to the shell
# Get Guido's text: guido_text
# Print Guido's text to the shell
print(guido_text)