<a href = "링크주소" > 어떻게 가져오나요? [스크래핑 프로젝트] TypeError: 'NoneType' object is not subscriptable
조회수 620회
Html 문에서 태크 a 의 속성인 href 의 링크주소를 가져오려고 합니다.
제가 짠 코드로는 계속해서 다음과 같은 에러가 나옵니다.
b = b.a['href']
TypeError: 'NoneType' object is not subscriptable
무엇이 잘못 된 걸 까요?
코드는 밑에와 같습니다.
browser.get("http://www.albamon.co.kr/")
alba = BeautifulSoup(browser.page_source, 'html.parser')
brands = alba.find(id = "MainSuperBrand").find_all("li")
for b in brands :
b = b.a['href']
print(b)
1 답변
-
a태그를 가져와야죠.
brands = alba.find(id ='MainSuperBrand').find_all('a') for b in brands : print(b['href'])
- 답변감사드립니다. find_all에 태그를 'li' 로 해서 들어가는 것은 잘못 된 방법인가요? 아니면 쓸 수 가 없는 방법인가요? Element 를 찾아가는 것에 있어서 방법이 여러가지인 건지 아니면 딱 정해져 있는 건지 너무 헷갈립니다. ramrr44 2021.12.14 17:46
- href를 가져올건데 왜 다른 태그를 가져오겠다는 거죠? 초보자 2021.12.15 10:13
- 가지고 오려는 html 문에서 현재 가 들어가는 문이 2개가 있습니다. 링크주소를 가지고 와서 해당 주소에서 다시 스크래핑을 해야하기에 하나의 링크 주소만이 필요합니다. li 태그로 들어가려는 것은 2개 이상 중복 된 요소에서 하나만 가져가려고 하는데 방법을 모르겠네요. ramrr44 2021.12.15 14:19
- ex) li 밑에 자식 중에 가 있는 자식들이 여러개 있습니다. href = "링크주소" 를 가리키기에 하나만 가져오려하는데 자꾸만 여러개가 가져와 지네요. 이렇게 되어있어서 클래스에 해당하는 href 만 가지고 오고 싶은데 흠 어떻게 해야되는건지 모르겠네요. ramrr44 2021.12.15 14:21
댓글 입력