ได้ไอเดียจาก shellscriptของพี่ @lewcpe ด้วยความที่เป็น shellscript ที่ดูด feed ออกมา ผมว่ามัน ok แต่มันไม่เพียงพอ เพราะผมต้องการเอารูปออกมาทั้งหมดไม่ใช่แค่ update 20 items ล่าสุด เลยเกิด script นี้ขึ้นมาครับ ;P
ซึ่งเป็น script ที่เขียนเอาไว้ใช้ backup รูปตัวเองเป็นหลักครับ เผื่อใครอยากเอาไปใช้ เขียนไว้ใช้คนเดียวไม่แบ่งก็กะไรอยู่ วันนี้เลยเอามาแบ่งกันครับ
เป็น function ง่ายๆ ใช้ file_get_contents มา get ตัว HTML แล้ว parse ตัว hash-id ของรูปออกมาอีกทีแล้วไปต่อกับ full size url แทนครับ
- < ?php
- function getTwitpic($username, $from_page) {
- foreach(range(1, $from_page) as $key=>$p) {
- $html = file_get_contents('http://twitpic.com/photos/'.$username.'?page='.$p);
- $matches = null;
- $r = preg_match_all('/a href="\/([0-9a-zA-Z])+"/', $html, $matches);
- foreach($matches[0] as $key=>$val) {
- $filename = str_replace('"', '', str_replace('a href="/', '', $val));
- $image_url = 'http://twitpic.com/show/full/'.$filename;
- echo '<a href="'.$image_url.'">'.$image_url.'</a><br />'.PHP_EOL;
- }
- }
- }
- ?>
ขั้นตอนการใช้งานก็ไม่ยาก
- getTwitpic('FordAntiTrust', 20);
ตัว args ตัวแรกก็ username และตัวที่สองเป็นหน้าสุดท้ายของ twitpic ของเราครับ สำหรับใครที่มีไฟล์เยอะๆ ให้ใช้ page=9999 ครับ
- http://twitpic.com/photos/username?page=9999
จะได้หน้ารองๆ สุดท้ายให้ PREV กลับไปอีก 1-2 หน้าก็จะได้หน้าสุดท้ายมาครับ แล้วก็จะได้เป็น link รูปขนาดเต็มมา ก็ใช้พวกโปรแกรมช่วย download มาโหลดไปอีกทีครับผม ;P ง่ายๆ ไม่ยาก แหะๆๆ