这是我在这里的第一篇文章,我仅在一周前才开始使用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:
然后显然,代码继续,但是问题在于,它在for
的开头发现了一个错误,即语法错误。我尝试添加逗号和其他内容,但它没有改变。
语法错误在哪里?非常感谢
这应修复封闭的括号并填写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(),
我怎么知道?因为括号不平衡。您很可能遇到
SyntaxError: unexpected keyword for
,这是一个非常老的问题。
结果是python解析器会转换您以树形形式编写的源代码,但有时情况有些出乎意料,请考虑一下。
spam = [] some_function(spam) # some_function([])
它们是相同的,但解析器遇到了两种不同的情况,首先是一个标识符,第二个是列表表达式。
所以发生的事情是有时解析器将不得不切换到不同的上下文;您的情况是试图找出函数rlib.request.urlopen
的参数,但遇到一个根本不属于该函数的for
关键字!
为什么以前不警告我!我知道这对您来说很混乱,但这是一个很难解决的问题,并且python开发人员在“宽恕”方面做了更多考虑,因此您可能会遇到一些奇怪的语法错误。