Page 100 - python
P. 100
74
6.14 การอานไฟลจากเว็บดวย urllib
ไลบรารี่ urllib ใชสําหรับการอานไฟลจากลิงค URLs ดวยโปรโตคอล http, ftp และ https
ประกอบดวยคําสั่ง urllib.request และ urllib.parse
คําสั่งภายในไลบรารี urllib
คําสั่ง คําอธิบาย
urllib.request เปดและอานขอมูลจากลิงค URLs
urllib.parse การแปลลิงค URLs
ตัวอยางที่ 6.14 การอานขอมูลจากเว็บดวย urllib
import urllib
a = "https://th.wikipedia.org/"
b = "wiki/ประเทศไทย"
c = urllib.parse.quote(b)
url= a+c
s = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')
print(s[0:300])
ผลลัพธ :
<!DOCTYPE html><html class="client-nojs" lang="th" dir="ltr"><head><meta charset="
UTF-8"/><title>ประเทศไทย - วิกิพีเดีย</title><script>document.documentElement.classN
ame="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigi
tTransformTable":["",""],"wgDefaultDateForm
ตัวอยางที่ 6.14 การอานเนื้อหาจากลิงค "https://th.wikipedia.org/wiki/ประเทศไทย" ดวย
ไลบรารี่ urllib ใชคําสั่ง import urllib จากนั้นแบง url เปน 2 สวน คือ "https://th.wikipedia.org/"
และ urllib.parse.quote("wiki/ประเทศไทย") เกบไวในตัวแปร url มคา "https://th.wikipedia.org/
ี
็
wiki/%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%80%E0%B8%97%E0%B8%A8%E0%
B9%84%E0%B8%97%E0%B8%A2"
คําสั่ง s = urllib.request.urlopen(url).read().decode('utf-8', 'ignore') อานขอมูลจาก url
ั
ั
ี่
เขามาเกบไวในตัวแปร s โดยถอดรหัสตัวอกษรเปน utf-8 และไมตองสนใจอกขระทผิดพลาดดวย
็
"ignore" นําผลลัพธมาแสดงผล 300 ตัวอักษรดวยคําสั่ง print(s[0:300])
แบบฝกหัดทายบท
1. จงอธิบายการอานและเขียนแฟมขอมูล
2. จงอธิบายความแตกตางระหวางเท็กซและไบนารีไฟล
3. จงอธิบายการอานบรรทัดที่ตองการภายในไฟล