הורדת קבצים דרך פייתון - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

הורדת קבצים דרך פייתון


avrin1

Recommended Posts

היי,

רציתי לדעת איך אני יכול להוריד קבצים דרך פייתון?

אני יודע שאפשר לעשות את זה באמצעות URLLIB2 כך:

response = urllib2.urlopen('

http://blabla.com/getfile.aspx?id=1')

file = response.read()

אבל זה לא מצליח... נראה לי בגלל שהאתר מביא את הקובץ דרך דף ASP ולא ישירות..

יכול להיות שזאת הבעיה?

מישהו יכול לעזור לי ולהגיד לי איך אני יכול להוריד את הקובץ שבמקרה הזה הוא בID=1???

תודה רבה!

קישור לתוכן
שתף באתרים אחרים

הFILE הוא קובץ ..

כשניסיתי לעשות את השיטה שציינתי למעלה זה החזיר לי קובץ ריק.

אם אני רושם בדפדפן את הURL שרשמתי אז הוא כן מתחיל להוריד לי קובץ .

מישהו יודע איך אפשר לעשות שזה יעבוד?

תודה רבה!

קישור לתוכן
שתף באתרים אחרים

זה מה שאני מקבל בTCP STREAM אחרי שאני מפעיל את הסקריפט:

(כמובן שאני זה ששינה את שם האתר לכוכביות...)

GET /Students/GetMp3.aspx?id=1 HTTP/1.1

Accept-Encoding: identity

Host: www.***********.com

Connection: close

User-Agent: Python-urllib/2.7

-------------------------------------------------------------------------------

HTTP/1.1 200 OK

Connection: close

Date: Wed, 26 Jan 2011 18:43:07 GMT

Server: -IIS/6.0

X-Powered-By: ASP.NET

X-AspNet-Version: 2.0.50727

Cache-Control: private

Content-Length: 0

קישור לתוכן
שתף באתרים אחרים

צודק, סליחה:

GET /Students/GetMp3.aspx?id=3 HTTP/1.1

Host: www.***********.com

Connection: keep-alive

Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10

Accept-Encoding: gzip,deflate,sdch

Accept-Language: en-US,en;q=0.8

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

Cookie: __utmz=121087831.1294747141.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%D7%A7%D7%99%D7%93%D7%95%D7%9D; StudentId=******; AuthKey=************************************************; __utma=121087831.369620101.1294747141.1295804831.1295878968.13

HTTP/1.1 200 OK

Date: Wed, 26 Jan 2011 19:49:16 GMT

Server: -IIS/6.0

X-Powered-By: ASP.NET

X-AspNet-Version: 2.0.50727

Content-Disposition: attachment; filename=alef3.mp3

Cache-Control: private

Content-Type: text/html

Content-Length: 1841600

.........,.......G9@......9L\.(?..&#.t+.^.\$b..O..Q......@3....@....."..X

..-..r.8...pZ......h..18"..O.....(Q.....@..O...x,..(...b...@?.... ....<#.1.

q..TA?...zD.|..x.8...|G....-..>...........j.@1@..@...-.`..........

.....Y.EX..].H r.

...........X.....2BjabyH.mu.^.V.^3j.e.G...p........\..V...e.....[./.T.p]..k......t.X..a.e...

..n#....|..[.a.t..=m.X...../.

...wX..^...6..-...ko-Y.?.uq..r^.H..5.F.......:......../>"C....i............3;....................`......I..@...!..a..9.[).W..............Ey..1.!Q.a...eHP`..g.f..t.a.Jb.*...9...2A.....d..x......A... Q...Z.....z..#...'..p.. ....cQ....$8.A.h..........A...c.A...^P......j.8.%..`....(....i.\\hP..A...-.A.l. e$.jbc```...

E..h....... .+v.)....2..p@......b..@.e$f2"

..".@........#p.1...

וממשיך עם חרעפש כזה בגלל שזה ....

קישור לתוכן
שתף באתרים אחרים

אני חושב שזאת באמת הבעייה(הקטע עם היוזר אייג'נט..)

תסלחו לי על הבורות, אני עדיין מתחיל.

כתבתי את זה:

import urllib2

mp3file = urllib2.urlopen("http://www.kidum.com/Students/GetMp3.aspx?id=1"[,'User-Agent':'Mozilla/5.0 (X11; U; i686) Gecko/20071127 Firefox/2.0.0.11'])

output = open('test.mp3','wb')

output.write(mp3file.read())

output.close()

וזה עדיין לא עובד לי..(SYNTAX ERROR)

אני צריך לכתוב CLASS ולקשר אותו לסקריפט הזה?

איך אני עושה שזה יעבוד?

תודה רבה!

קישור לתוכן
שתף באתרים אחרים

syntax error אומר שבכלל קוד הפייתון שכתבת לא תקין (כנראה חסרים לך סוגריים או מרכאות, או פסיק לא במקום).

חוץ מזה, לא הבנתי מה בדיוק ניסית לעשות. urlopen לא מאפשרת לך להגדיר headers (הפרמטר השני הוא ה-http post data, שזה התוכן של הבקשה בבקשות POST). בשביל להגדיר headers אתה צריך להשתמש ב-urllib2.Request או urllib2.build_opener.

כאן תוכל למצוא דוגמאות:

http://docs.python.org/library/urllib2.html#examples

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...