我试图用python构建一个站点地图 这是我的代码(网站地图生成器.py)在
from urllib2 import urlopen
from bs4 import BeautifulSoup
import datetime
import random
import re
pages = set()
def getLinks (pageUrl):
global pages
html = urlopen("http://www.mysite.ch" + pageUrl )
bsObj = BeautifulSoup(html, "html.parser")
for link in bsOj.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("")
我有以下消息错误:
^{pr2}$我很感激python教程中的任何新提示
您只需更正您的行:
签署人:
^{pr2}$代码的问题在于将
bsobj
定义为全局的。在在Python中,
global
表示“模块级”,它只在函数中用于表示要在函数中反弹的模块级名称。它并不是指模块级的“转发声明”(forward declaration)——这是不存在的,因为当加载(执行或导入)模块时,顶层的所有代码都是按顺序执行的。在{{cd3>之后,用这个值来定义。在
另外,你可以为你的代码使用格式化程序,因为它看起来不太好和一致。检查
yapf
或black
:)相关问题 更多 >
编程相关推荐