2017-07-31 1 views
1

J'essaie d'écrire un script qui accepte une URL avec certains paramètres, lit une liste de nouvelles URL sur la page Web résultante et les télécharge localement. Je suis très novice en programmation et je n'ai jamais utilisé Python 3, donc je suis un peu perdu.Script qui utilise des paramètres et lit les résultats

Voici un exemple de code pour expliquer davantage:

param1 = 
param2 = 
param3 = 

requestURL = "http://examplewebpage.com/live2/?target=param1&query=param2&other=param3" 

html_content = urllib2.urlopen(requestURL).read() 

#I don't know where to go from here 
#Something that can find when a URL appears on the page and append it to a list 
#Then download everything from that list 

#this can download something from a link: 
#file = urllib.URLopener() 
#file.retrieve(url, newfilelocation) 

La sortie de la requête-URL est une très longue page qui peut être en XML ou JSON et a beaucoup d'informations pas nécessairement besoin, de sorte que certains forme de recherche est nécessaire pour trouver les URL qui doivent être téléchargés à partir de plus tard. Les URL trouvées sur la page mènent directement aux fichiers nécessaires (ils se terminent par .jpg, .cat, etc).

S'il vous plaît laissez-moi savoir si vous avez besoin d'autres informations! Mes excuses si cela est déroutant. Idéalement, je voudrais que les fichiers téléchargés vont tous dans un nouveau dossier (sous-répertoire) créé pour eux avec le nom de fichier comme date et heure, mais je pense que je peux comprendre cette partie moi-même.

+0

Essayez-vous d'analyser une page HTML pour tous les liens vers d'autres pages HTML et de télécharger ces autres pages? –

+0

Désolé, cela aurait dû être expliqué, mais les liens se réfèrent directement aux fichiers à télécharger. (Ils se terminent par .jpg, .cat, etc). Modification de la question maintenant – moon17

Répondre

0

Il semble que vous essayez de créer quelque chose de similaire à un robot d'indexation Web, sauf si vous souhaitez afficher le contenu. Vous devriez explorer le code source de scrapy cela aidera à comprendre comment les autres ont écrit la même logique. Je suggère d'utiliser la bibliothèque requests au lieu de urllib car c'est plus facile. bibliothèque python a intégré html, Json et XML parseurs.

Vous devez inspecter l'en-tête de type de contenu pour comprendre le type de contenu que vous essayez de télécharger si le type de page est inconnu. Il peut y avoir des stratégies alternatives, scrapy devrait vous donner plus d'idées.

Espérons que cela aide.

+0

Alors, attends, tu veux dire utiliser le scrapy? Ou juste comme source d'inspiration? Mon manque d'expérience en codage rend difficile la compréhension de cela. – moon17

+0

Je sais que vous êtes novice en python, mais si vous souhaitez construire des choses, vous pouvez obtenir des idées de ce que les gens ont fait dans le même domaine. RTFS (lire la source amicale) @ moon17 est l'un des meilleurs moyens .. Si Scrapy semble compliqué, il existe d'autres comme Spider https://github.com/buckyroberts/Spider – Addy

0

Je recommande de vérifier BeautifulSoup pour analyser la page retournée. Avec lui, vous pouvez parcourir les liens et extraire l'adresse du lien assez facile et les ajouter à une liste des liens.

+0

J'ai regardé dans ce domaine, mais n'est pas BeautifulSoup juste pour XML et HTML? Il faut aussi travailler sur JSON – moon17

+0

Ouais désolé, je ne pense pas que BeautifulSoup fasse le JSON. – Vorboto