2015-01-17 5 views
1
내가 print(li.string)에 의해 국가의 이름을 얻을 수 있습니다

AttributeError는 'NavigableString'개체가 어떤 속성 '선택'이 없습니다 - BeautifulSoap

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) 

국가/상태의 목록을 얻으려면 다음과 같은 URL을 긁어하고

을하지만 원하는 a 'href 값도 가져옵니다.

나는 항상 print(li.select("a")["href"][0].text을 사용했으나이 사이트에 대해 잘 모릅니다.이 오류가 발생합니다.

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

나는 긁어 그 LI

답변

0

내 국가의 링크를 원하는 당신은 무엇을 a 태그의 href 속성, 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 태그 내부; 오류가 발생했습니다.

+0

print ("love u") – Umair

+0

@Umair, 안녕하세요. – falsetru

관련 문제