แสดงผลลัพธ์ของ HTTP request ใน Python ด้วย urllib
คุณได้สร้างและส่ง GET request ไปยัง "https://campus.datacamp.com/courses/1606/4135?ex=2" แล้วรับ response กลับมา จะเห็นว่า response ที่ได้เป็นออบเจกต์ประเภท http.client.HTTPResponse แล้วจะทำอะไรกับ response นี้ได้บ้าง?
เนื่องจาก response มาจากหน้า HTML จึงสามารถ อ่าน เนื้อหาเพื่อดึงข้อมูล HTML ออกมาได้ และออบเจกต์ http.client.HTTPResponse ก็มีเมธอด read() รองรับอยู่แล้ว ในแบบฝึกหัดนี้ จะต่อยอดจากสิ่งที่ทำไปแล้วเพื่อดึงข้อมูลจาก response และแสดง HTML ออกมา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย Python ระดับกลาง
คำแนะนำการฝึกหัด
- ส่ง request และรับ response เก็บไว้ในตัวแปร
responseด้วยฟังก์ชันurlopen()เหมือนกับแบบฝึกหัดก่อนหน้า - ดึงข้อมูลจาก response โดยใช้เมธอด
read()แล้วเก็บผลลัพธ์ไว้ในตัวแปรhtml - แสดงผลสตริง
html - กด ส่งคำตอบ เพื่อรันโค้ดทั้งหมดและปิด response ให้เรียบร้อย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import packages
from urllib.request import urlopen, Request
# Specify the url
url = "https://campus.datacamp.com/courses/1606/4135?ex=2"
# This packages the request
request = Request(url)
# Sends the request and catches the response: response
# Extract the response: html
# Print the html
# Be polite and close the response!
response.close()