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

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

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

tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

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

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

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

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

โค้ด: เลือกทั้งหมด

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

โค้ด: เลือกทั้งหมด

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 2682 times
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 38