Python 如何获取特定的<;td>;在a<;tr>;与美联

Python 如何获取特定的<;td>;在a<;tr>;与美联,python,html,beautifulsoup,Python,Html,Beautifulsoup,试图从纽约市高中列表的wiki页面中获取所有高中的名字 我已经写了足够多的脚本来获取包含高中、学术领域和入学标准列表的标签中包含的所有信息——但我如何才能将其缩小到我认为应该在td[0]中的范围(这会吐出关键错误)-只是学校的名字 到目前为止,我编写的代码是: from bs4 import BeautifulSoup from urllib2 import urlopen NYC = 'https://en.wikipedia.org/wiki/List_of_high_schools_in

试图从纽约市高中列表的wiki页面中获取所有高中的名字

我已经写了足够多的脚本来获取包含高中、学术领域和入学标准列表的
标签中包含的所有信息——但我如何才能将其缩小到我认为应该在
td[0]
中的范围(这会吐出
关键错误
)-只是学校的名字

到目前为止,我编写的代码是:

from bs4 import BeautifulSoup
from urllib2 import urlopen

NYC = 'https://en.wikipedia.org/wiki/List_of_high_schools_in_New_York_City'

html = urlopen(NYC)
soup = BeautifulSoup(html.read(), 'lxml')
schooltable = soup.find('table')
for td in schooltable:
    print(td)
我收到的输出:

<tr>
    <td><a href="/wiki/The_Beacon_School" title="The Beacon School">The Beacon School</a></td>
    <td>Humanities &amp; interdisciplinary</td>
    <td>Academic record, interview</td>
</tr>

如何获取页面上的第一个
,迭代除第一个标题行以外的所有行,并获取每行的第一个
td
元素。为我工作:

for row in soup.table.find_all('tr')[1:]:
    print(row.td.text)

我还通过查找
中的所有锚固件,然后查找标题来实现这一点:

titles = next(
    i.get('title') for i in [
        td.find('a') for td in soup.findAll('td') if td.find('a') is not None
        ]
titles = next(
    i.get('title') for i in [
        td.find('a') for td in soup.findAll('td') if td.find('a') is not None
        ]