希望从某个网站上抓取城市名称。这是我到目前为止编写的相关代码,文本存储在变量中。但是,我需要将所有城市名称放在一个列表中,这似乎对我不起作用。这是HTML:
<a id="ctl00_ContentPlaceHolder1_rptrContinents_ctl00_rptrRows_ctl00_lnkBunker" href="PortDetails.aspx?ElementID=ffd65ee0-93ea-4195-b1ba-a69c8b1908c5">Amsterdam</a>
这是我的代码: names = row.find_all('th')
column_1 = col[0].string.strip()
Ifo380.append(column_1)
column_2 = col[3].string.strip()
Ifo180.append(column_2)
column_3 = col[6].string.strip()
Mdo.append(column_3)
column_4 = col[9].string.strip()
Mgo.append(column_4)
for port in names:
name= item.contents.find_all("a").string
有人可以帮忙吗?
答案 0 :(得分:1)
您可以使用>>> html = '<a id="ctl00_ContentPlaceHolder1_rptrContinents_ctl00_rptrRows_ctl00_lnkBunker" href="PortDetails.aspx?ElementID=ffd65ee0-93ea-4195-b1ba-a69c8b1908c5">Amsterdam</a>'
>>> soup = BeautifulSoup(html)
>>> citynames = [names.text for names in soup.find_all('a')]
['Amsterdam']
:
{{1}}
答案 1 :(得分:0)
假设您的html内容存储为:
soup = BeautifulSoup(html_cont, "lxml")
city_names = []
for link in soup.find_all('a', href=True):
city_names.append(link.text)
然后你可以解析它并将城市添加到列表中:
{{1}}