|
Python: โหลดการ์ตูนจาก web ตอนที่ 2
จากครั้งที่แล้วก็สามารถโหลดภาพการ์ตูนได้แล้ว แต่ก็ไม่ค่อยสะดวกเพราะต้องมาเปลี่ยน link เรื่อย และเปลี่ยนจำนวนหน้า ดังนั้นมาครั้งนี้เลยเขียนโปรแกรมเพื่อดึงชื่อ link ทั้งหมดมา ใส่ในไฟล์ชื่อ fileList01.txt และดึงข้อมูลจำนวนหน้ามาเก็บที่ไฟล์ pageList01.txt ซึ่งหลักการก็คล้ายๆกับครั้งที่แล้ว ก่อนอื่นมาดูวิธี load link ทั้งหมดมาก่อนนะครับ อืมที่ทดลองนี้ใช้กับ การ์ตูนเรื่อง dragonball นะครับ ถ้าเรื่องอื่นๆ ก็ไปแก้ไขcode ตามความเหมาะสมเองละกัน
มาดู code และคำอธิบาย ในโปรแกรม collectLink01.py import urllib #load module มาใช้งาน
url = "//www.mangareader.net/105/dragon-ball.html" fp = urllib.urlopen(url) #สร้าง File pointer ชี้ไปยัง url ที่กำหนด อันนี้เป็นหน้าแรกของdragonball ซึ่งจะมี link ไปทุกตอน 520 ตอน startFromLine = 157 lineCount = 1 for line in fp: if lineCount > startFromLine: break lineCount = lineCount+1 #เนื่องจาก Link จะเริ่มที่ประมาณบรรทัดที่ 157 กลุ่มคำสั่งนี้จึงมีหน้าที่ เลื่อนบรรทัดไปเรื่อยๆ จนกระทั่งถึงบรรทัดที่ประมาณ 157
fpWrite = open('fileList01.txt','w') #สร้าง File Pointer เพื่อจะเก็บข้อมูล
for line in fp: if "dragon-ball" in line: strRead = line print line List = strRead.split('"') fpWrite.write("//www.mangareader.net"+List[1]+"n") #วน loop หาบรรทัดที่มีคำว่า dragon-ball เพื่อจะตัดเอา link url มาใช้งาน และเขียนข้อมูลลงไฟล์ เป็นอันจบ ซึงถ้าเราไม่เลื่อนบรรทัดมาจนประมาณ 157 บรรทัดจะมีคำว่า dragon-ball ที่ไม่ใช่ link url อยู่ ทำให้การเก็บข้อมูลผิดพลาดได้ fpWrite.close() fp.close() #ปิดไฟล์ที่ใช้งาน อันนี้เป็น sourcecode และ textfile ที่เก็บ link มาให้แล้วถ้าขี้เกียจ run program

Create Date : 30 กรกฎาคม 2554 |
Last Update : 30 กรกฎาคม 2554 8:34:49 น. |
|
1 comments
|
Counter : 994 Pageviews. |
 |
|
|
โดย: homezrg IP: 180.183.159.92 วันที่: 4 กันยายน 2556 เวลา:5:11:55 น. |
|
|
|
| |
|
|