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

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

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

Postby 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('http://www.mindphp.com/')
print(r.content)

:baa: อธิบายการทำงาน
คำสั่ง get จะทำการอ่านเว็บแล้วคืนผลที่ได้ออกมาเป็นออบเจ็กต์ชนิด Response ซึ่งเก็บข้อมูลต่างๆของหน้าเว็บนั้นไว้
ถ้ามาดูที่แอตทริบิวต์ .text จะได้ข้อความเป็น html ที่ถอดรหัสเป็นตัวอักษรออกมา

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

Code: Select all

r = requests.get('http://www.mindphp.com/')
print(r.encoding)

ผลลัพท์
utf-8

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

Code: Select all

r = requests.get('http://www.mindphp.com/')
print(r.content)


ต่อไปจะลองโหลดรูปภาพให้ดูนะครับ

Code: Select all

url_file = 'http://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 1483 times
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 6 guests