抓取Href python

2024-03-29 14:54:40 发布

您现在位置:Python中文网/ 问答频道 /正文

想从某个地方搜刮城市名字。这是我到目前为止编写的相关代码,文本存储在一个变量中。然而,我需要把所有的城市名称都列在一个列表中,这似乎对我不起作用。以下是HTML:

<a id="ctl00_ContentPlaceHolder1_rptrContinents_ctl00_rptrRows_ctl00_lnkBunker" href="PortDetails.aspx?ElementID=ffd65ee0-93ea-4195-b1ba-a69c8b1908c5">Amsterdam</a>

这是我的密码: 名称=行。全部查找(“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

有人能帮忙吗?你知道吗


Tags: 代码文本名称id列表stringhtml地方
2条回答

您可以使用list comprehension

>>> 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']

假设您的html内容存储为:

html_cont = '<a id="ctl00_ContentPlaceHolder1_rptrContinents_ctl00_rptrRows_ctl00_lnkBunker" href="PortDetails.aspx?ElementID=ffd65ee0-93ea-4195-b1ba-a69c8b1908c5">Amsterdam</a>'    

然后您可以解析它并将城市添加到列表中,如下所示:

soup = BeautifulSoup(html_cont, "lxml")

city_names = []
for link in soup.find_all('a', href=True):
    city_names.append(link.text)

相关问题 更多 >