刮Href python

时间:2017-06-09 08:39:49

标签: python beautifulsoup href screen-scraping

希望从某个网站上抓取城市名称。这是我到目前为止编写的相关代码,文本存储在变量中。但是,我需要将所有城市名称放在一个列表中,这似乎对我不起作用。这是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

有人可以帮忙吗?

2 个答案:

答案 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}}