การใช้ python เก็บข้อมูลจากเว็บ โดยใช้ requests

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: การใช้ python เก็บข้อมูลจากเว็บ โดยใช้ requests

การใช้ python เก็บข้อมูลจากเว็บ โดยใช้ requests

by tatiya » 31/08/2018 4:59 pm

requests เป็นมอดูลเสริมที่ไม่ได้มีติดมากับไพธอนแต่แรก แต่ให้เราเชคก่อนว่ามันมีมั้ยโดยการ import requests ครับถ้าไม่ขึ้น Error แสดงว่ามีแล้ว แต่ถ้ายังไม่มีวิธีลงก็ทำได้ง่ายนิดเดียว

Code: Select all

pip install requests
แค่นี้ก็เรีบยร้อย

8O มาเริ่มกันเลยครับ 8O

Code: Select all

r = requests.get('https://www.mindphp.com/')
print(r.content)
:baa: อธิบายการทำงาน
คำสั่ง get จะทำการอ่านเว็บแล้วคืนผลที่ได้ออกมาเป็นออบเจ็กต์ชนิด Response ซึ่งเก็บข้อมูลต่างๆของหน้าเว็บนั้นไว้
ถ้ามาดูที่แอตทริบิวต์ .text จะได้ข้อความเป็น html ที่ถอดรหัสเป็นตัวอักษรออกมา

สามารถดูได้ว่าเว็บนี้มีการใช้รหัสอักษรแบบไหนโดยดูที่ .encoding

Code: Select all

r = requests.get('https://www.mindphp.com/')
print(r.encoding)
ผลลัพท์
utf-8

ส่วนถ้าอยากได้เนื้อหาเป็นไบนารีซึ่งยังไม่มีการถอดรหัสให้ใช้ .content

Code: Select all

r = requests.get('https://www.mindphp.com/')
print(r.content)
ต่อไปจะลองโหลดรูปภาพให้ดูนะครับ

Code: Select all

url_file = 'https://www.mindphp.com/images/info/mindphp.png'
chue_file = 'mindphp.jpg'
r = requests.get(url_file)
with open(chue_file,'wb') as f:
    f.write(r.content)
ผลลัพท์ (ไฟล์จะถูเก็บไว้ใน โฟลเดอร์โปรเจคเรานะครับ)
Selection_047.png
Selection_047.png (7.98 KiB) Viewed 1789 times

Top