2017-10-18 1 views
0

Der Versuch, eine Sitemap zu bauen mit PythonAufbau einer Sitemap Python mit

from urllib2 import urlopen 
from bs4 import BeautifulSoup 
import re 

pages = set() 
def getLinks (pageUrl): 
    global pages 
html = urlopen("http://www.mysite.ch" + pageUrl) 
bsObj = BeautifulSoup(html,"html.parser") 
for link in bsObj.findAll("a",href = re.compile("^(/f/)")): 
    if 'href' in link.attrs: 
     if link.attrs['href'] not in pages: 
      newPage = link.attrs['href'] 
      print(newPage) 
      pages.add(newPage) 
       getLinks(newPage) 

getLinks ("")

ich folgende Fehlermeldung msg bekam:

File "sitemap builder.py", line 8, in <module> 
    html = urlopen("http://www.mysite.ch" + pageUrl) 
    NameError: name 'pageUrl' is not defined 

Wenn somepeople Ideen bekam Sie sind willkommen (Entschuldigung für schlechte Einrückung ich stimme zu, es ist nicht gut)

+0

Ist dies die vollständige Fehlerspur? – MrPyCharm

+0

Sind Sie sicher, dass das die vollständige Fehlermeldung ist? das scheint nicht die vollständige Fehlermeldung zu sein –

+0

@GerriePretorius voller Fehler Trace jetzt in, sorry –

Antwort

0

Nun, nehmen wir an, dass der Code-Ausschnitt Sie gepostet ist korrekt und ist in der Tat richtig formatiert. Dann wird in Zeile suchen 8, in dem Sie den Fehler haben, zeigt deutlich, dass

pageUrl 

in globalen Bereich ist, während es im Rahmen der

erklärt wurde
def getLinks (pageUrl): 

Entweder Sie PageUrl erklären müssen oder Sie müssen Ihren Code richtig formatieren.