2012-07-04 4 views
0

좋아요, 문제는 사이트를 방문하여 원하는 파일을 다운로드하지만 문제는 파일을 다운로드하려고 시도하는 웹 사이트가 실제 파일을 호스트하지 않고 대신 Dropbox를 사용하여 호스트하는 것과 같습니다. 드롭 다운 상자가있는 빈 페이지로 리디렉션 된 다운로드를 클릭하면 다운로드 할 수있는 작은 창에 팝업 창이 나타납니다. 내가 dropbox가 튀어 나오는 링크에 파이썬을 바로 보낼 수는 있지만, 파일을 다운로드하지는 않을 것입니다. 내가 사용하는 데 사용하는 코드 그게Windows Python 웹 사이트에서 드롭 박스 팝업을 다운로드하는 방법은 무엇입니까?

import urllib 

url = 'https://thewebsitedownload.com' 

filename = 'filetobedownloaded.exe' 
urllib.urlretrieve(url, filename) 

과 직접 다운로드 마법처럼 일하지만 지금은 단지의 HTML 코드를 다운로드 끝 드롭 박스 팝업 다운로드가있는 사이트를 사용하려고하면 사이트에서 (내가 말할 수있는 것에서) 실제로 파일을 다운로드하지 않습니다. 저는 아직 파이썬/코딩에 비교적 새로운 편입니다 만, 지금까지 제가 처음으로 생각한 벽돌 벽에 불과합니다. 비슷한 해결책을 찾지 못했습니다. 미리 감사드립니다. 샘플 코드는 내가 지금까지 어떻게 학습했는지를 너무 많이 돕는다.

답변

0

Beautifulsoup을 사용하면 얻을 수있는 html을 구문 분석 할 수 있습니다. 그러면 파일에 대한 href 링크를 얻을 수 있습니다. 웹에 많은 Beautifulsoup 튜토리얼이 있으므로 특정 상황에서 어떻게 링크를 얻는 지 쉽게 파악할 수있을 것입니다.

먼저 당신은 당신이 이미 가지고있는 코드로 HTML을 다운로드 할 수 있지만 파일 이름없이 :

import urllib 
from bs4 import BeautifulSoup 
import re 

url = 'https://thewebsitedownload.com' 

text = urllib.urlopen(url).read() 

soup = BeautifulSoup(text) 
link = soup.find_all(href=re.compile("dropbox"))[0]['href'] 
print link 
filename = 'filetobedownloaded.exe' 
urllib.urlretrieve(link, filename) 

나는 docs에서이 문제를 만들었지 만, 그것을 테스트하지 않은,하지만 난 당신이 생각을 생각합니다.

+0

업데이트 된 답변보기 – BrtH

+0

알았어, 그 사람이있어! 정말 고마워 – harry

관련 문제