AttributeError:'NavigableString'对象没有属性'select' - BeautifulSoup

时间:2015-01-17 09:05:37

标签: python python-3.x beautifulsoup

我正在抓取以下网址以获取国家/州的列表

main_url enter = "http://www.shangri-la.com/shangrila/sitemap/"

for div in main_page_soup.select("div.main-content-area div.sitemap-4column-container"):

    for city in div.select("div.sitemap-box ul li"):

        for li in city:
            #print(li.find("a"))
            print(li.string)
            #print(li.select("a")["href"][0].text)

我可以按print(li.string)获取国家/地区名称,但我想获得a' href也是值。

我以前常常做print(li.select("a")["href"][0].text但不知道这个网站我得到这个错误。

AttributeError: 'NavigableString' object has no attribute 'select'

我想要什么 刮掉那些LI s

中国家/地区的链接

1 个答案:

答案 0 :(得分:0)

如果您想要href代码的a属性,请迭代a代码:

for div in main_page_soup.select("div.main-content-area div.sitemap-4column-container"):
    for city in div.select("div.sitemap-box ul li a"):
        print(city.string, city.get('href'))

内部标有li个标记的a个标记;导致错误。