首页 > 解决方案 > for 语句后出现“无效语法”错误

问题描述

我尝试从网站获取 URL 列表。我找到了正确的代码并将该变量命名为“表”。当我输入代码“for links in table.findall('tr', href=True)”时,它返回:

文件“”,第 1 行用于 table.findall('tr', href=True) 中的链接 ^ SyntaxError: invalid syntax

我试图用'a'替换'tr',但这给了我相同的结果。就在这行代码之前,我给出了命令 print(table),它给了我正确的 html 代码,所以我假设声明 table 变量之前的一切都应该没问题。

为了清楚起见,这里是我的完整代码。再次,如果阅读困难或看起来草率,我很抱歉。提示和技巧总是受到赞赏。

代码:

from bs4 import BeautifulSoup
import requests
import urllib
import urllib.request

URL = 'https://www.transfermarkt.nl/eredivisie/kreuztabelle/wettbewerb/NL1/saison_id/2013'
Page = requests.get(URL, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.48'})
soup = BeautifulSoup(Page.text, "html.parser")
table = soup.find('div', {"class":"responsive-table"})
for links in table.findall('tr', href=True)

标签: python-3.xfor-loop

解决方案


尝试更换

for links in table.findall('tr', href=True)

for links in table.findall('tr', href=True):
    print(links)

您可以在 python 官方教程中获得更多信息。

https://docs.python.org/3/tutorial/controlflow.html#for-statements


推荐阅读