|
Python: โหลดการ์ตูนจาก web
พอดีพบ web การ์ตูน onlineที่ //www.mangareader.net มีการ์ตูนเยอะดีเหมือนกัน แต่ต้องload ที่ละหน้า น่าเบื่อเหมือนกัน  ดังนั้นลอง click ขวา แล้วก็ properties ก็ได้ link url ประมาณนี้ //i35.mangareader.net/dragon-ball/1/dragon-ball-1695152.jpg
ซึ่ง python มี library load file จาก net อยู่ คือ urllib import urllib url = "//i14.mangareader.net/dragon-ball/1/dragon-ball-1695162.jpg" urllib.urlretrieve(url,"test.png") เพียงสามบรรทัดนี้ ก็ load รูปมาได้แล้ว ง่ายมากๆ
แล้วก็คิดว่า เลข ภาพจะ run ไปเรื่อยq แต่ช่าย เพราะค่า i35 จะเปลี่ยนไปเรื่อยๆแบบ random เลขก็ไม่ run ต่อ เช่นหน้าที่ 2 มี url //i2.mangareader.net/dragon-ball/1/dragon-ball-1695153.jpg
ก็เลยหาต่อ พบว่าสิ่งที่ run เป็นลำดับก็คือไฟล์ html หน้าที่ 1: //www.mangareader.net/105-2100-1/dragon-ball/chapter-1.html หน้าที่ 2: //www.mangareader.net/105-2100-2/dragon-ball/chapter-1.html หน้าที่ 3: //www.mangareader.net/105-2100-3/dragon-ball/chapter-1.html ก็คือค่า 105-2100-1 2 3 ไปตามเลขหน้า
ต่อไปก็ดู code ใน html ว่าส่วนแสดงภาพอยู่ที่ไหน โดย click ขวา view source ก็พบบรรทัดนี้
ไงข้างบนดันเป็นรูป link ไปส่ะได้ 

โดยมีคำว่า 800 เป็นจุดสังเกต โอ้สุดยอด ดังนั้นจึงมีขั้นตอน load ภาพประมาณนี้คือ 1. load file html 2. หาบรรทัดที่มีเลข 800 3. เก็บค่าลงตัวแปร strRead 4. หา url ของ ภาพ โดยใช้คำสั่ง split กำหนดให้แยกคำด้วยเครื่องหมาย " 5. เก็บค่าในตัวแปร List 6. ดึงค่าใน List ลำดับที่ 11 มาซึ่่งก็คือ url ของรูป 7. แล้วก็ load ภาพมา save ในเครื่องก็เป็นอันเสร็จ แล้วก็วน loop ไปเรื่อยๆ
อันนี้ source code ลองไปไล่ ดูเองล่ะกัน อีกหน่อย while num<=2: ไว้กำหนดจำนวนหน้าที่ต้องการ ในที่นี้คือ สองหน้า url = "//www.mangareader.net/105-2100-"+str(num)+"/dragon-ball/chapter-1.html"อันนี้กำหนด url หน้าแรก
Create Date : 19 กรกฎาคม 2554 |
Last Update : 19 กรกฎาคม 2554 19:20:27 น. |
|
1 comments
|
Counter : 1391 Pageviews. |
 |
|
|
โดย: กฤษดา IP: 101.51.167.172 วันที่: 16 สิงหาคม 2556 เวลา:6:59:26 น. |
|
|
|
| |
|
|