这是我在这里的第一篇文章,我在一周前才开始使用python,我在运行代码时遇到了一个问题。 下面是代码:
try:
sauce= urlib.request.urlopen('https://www.instagram.com/p/'+msg('text').read(),
soup = bs.BeautifulSoup(sauce, 'html.parser')
for item in soup.find_all('span', 'webtitleclass'):
print(item)
except urlib.error.HTTPError as err:
然后显然代码继续,但问题是它在的开头发现了一个错误,一个语法错误。 我已经尝试添加逗号和其他东西,但它没有改变。
语法错误在哪里? 多谢
这应该可以修复圆括号,并填写except
:
try:
sauce = urlib.request.urlopen('https://www.instagram.com/p/'+msg('text').read())
soup = bs.BeautifulSoup(sauce, 'html.parser')
for item in soup.find_all('span', 'webtitleclass'):
print(item)
except urlib.error.HTTPError as err:
print(err)
欢迎光临! 您遇到的问题根本不在for
关键字中,但应该在此处
sauce= urlib.request.urlopen('https://www.instagram.com/p/'+msg('text').read(),
我怎么知道? 因为有一个不平衡的括号。 您很可能会遇到语法错误:
的意外关键字,这是一个很老的问题。
事实证明,python解析器将您编写的源代码转换为树形形式,但有时事情有点出乎意料,请考虑一下。
spam = []
some_function(spam)
#
some_function([])
它们是相同的,但是解析器遇到两个不同的东西,第一个是标识符,第二个是列表表达式。
因此,有时解析器将不得不切换到不同的上下文; 在您的示例中,您正在尝试找出函数rlib.request.urlopen
的参数,但遇到了一个根本不属于该函数的for
关键字!
为什么它之前不警告我! 我理解这对您来说很困惑,但这是一个很难解决的问题,而且python开发人员已经在“宽恕”方面考虑了更多,所以您可能会遇到一些奇怪的语法错误。