2016-04-15 7 views
0

Angenommen, ich möchte eine ZIP-Datei (und extrahiere sie dann) von einer bestimmten URL erhalten. Ich möchte in der Lage, einen Platzhalter in der URL wie folgt zu verwenden:Python-Anfragen: Verwenden Sie * als Platzhalter in der URL

https://www.urlgoeshere.domain/+*+-one.zip 

statt dessen:

https://www.urlgoeshere.domain/two-one.zip 

Hier ist ein Beispiel für den Code Ich verwende (URL ist gekünstelt) :

import requests, zipfile, io 
year='2016' 
monthnum='01' 
month='Jan' 

zip_file_url='https://www.urlgoeshere.domain/two-one.zip' 
r = requests.get(zip_file_url, stream=True) 
z = zipfile.ZipFile(io.BytesIO(r.content)) 
z.extractall() 

Vielen Dank im Voraus!

Antwort

0

HTTP funktioniert nicht so. Sie müssen die genaue URL verwenden, um eine Seite vom Server anzufordern.

0

Ich bin mir nicht sicher, ob dies Ihnen hilft, aber Flask hat eine Funktion, die ähnlich wie Sie es benötigt. Hier ist ein funktionierendes Beispiel:

@app.route('/categories/<int:category_id>') 
def categoryDisplay(category_id): 
''' Display a category's items 
''' 
    # Get category and it's items via queries on session 
    category =session.query(Category).filter_by(id=category_id).one() 
    items = session.query(Item).filter_by(category_id=category.id) 

    # Display items using Flask HTML Templates 
    return render_template('category.html', category=category, items=items, 
      editItem=editItem, deleteItem=deleteItem, logged_in = check_logged_in()) 

die Route Dekorateur teilt dem Web-Server diese Methode aufrufen, wenn eine URL wie */categories/(1/2/3/4/232 ...) zugegriffen wird. Ich bin mir nicht sicher, aber ich denke, Sie könnten das gleiche mit dem Namen Ihrer Zip als String tun. Weitere Informationen finden Sie unter here (project.py).

Verwandte Themen