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. จงอธิบายการอานบรรทัดที่ตองการภายในไฟล
   95   96   97   98   99   100   101   102   103   104   105