2016-08-04 11 views
-3

Ich lerne gerade Python, und könnte wirklich Hilfe von erfahrenen Programmierer mit Hilfe zu Beginn dieser Aufgabe:Python: Schreiben eines Skripts, das Dateinamen von Zerolength-Dateien und ein Skript, das alle Bilder auf einer Webseite zählt

  1. Schreiben Sie mithilfe von os.walk ein Skript, das die Dateinamen der Dateien mit der Länge null ausgibt. Es sollte auch die Anzahl der Dateien mit der Länge Null ausgeben.

  2. Schreiben Sie ein Skript, das alle Bilder in einer bestimmten HTML-Webseite/Datei auflistet und zählt. Sie können davon ausgehen, dass:

    Each image file is enclosed with the tag <img and ends with > 
        The HTML page/file is syntactically correct 
    

Jede Eingabe wird sehr geschätzt!

+1

Sie sollten diese bei der Lösung Ihrer Versuche, zumindest zeigen. – DeepSpace

+0

Dies sind wirklich zwei verschiedene Fragen/Anforderungen für Code. Ich wette, es gibt bestehende Fragen über das Laufen von Dateien und das Parsen von HTML. z.B. http://stackoverflow.com/questions/3207219/how-to-list-all-files-of-a-directory-in-python/3207973#3207973 Sie könnten dann das Handbuch für Eigenschaften der Datei lesen – doctorlove

Antwort

0

Sie können BeautifulSoup verwenden, um die Anzahl der Bilder auf der Seite einfach zu zählen. Alles, was Sie tun müssen, ist alle Tags zu kratzen und die Länge dieses Kratzers zu bekommen.

import urllib 
from bs4 import BeautifulSoup 

url = 'whatever the website is' 
r = urllib.urlopen(url).read() 
soup = BeautifulSoup(r, 'html.parser') 

num_images = len(soup.find_all('img')) 
print num_images 

Dieser Code wurde nicht kompiliert. Ich denke nicht, dass es völlig korrekt ist, aber es sollte Ihnen mehr als genug von einer Idee geben, wie es gemacht wird.

Noch besser wäre es würde einen Blick auf diese SO Posten zu übernehmen, und zwar die Antwort, die ich verknüpft haben, die eine Implementierung mit regex hat: https://stackoverflow.com/a/17395503/6464893