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 ![]() ![]() ของคุณมากครับ มีประโยชน์มาก
โดย: homezrg IP: 180.183.159.92 วันที่: 4 กันยายน 2556 เวลา:5:11:55 น.
|
บทความทั้งหมด
|








ผู้ติดตามบล็อก : 8 คน [