본문 바로가기

BLOG/웹크롤링

[웹크롤링] 동일한 이름의 여러 태그 중 두 번째 태그 찾는 방법

웹 크롤링을 할 때, 특정한 텍스트 또는 이미지를 크롤링할 때, 가장 하위에 있는 태그를 보면 class 이름이 없거나, 다른 데이터와 같은 이름의 class가 있어서 특정한 태그를 찾기 어려울 수 있습니다.

 

만약 아래 이미지와 같이 상위태그 이름이 <ul>, 클래스 이름이 'list_news' 인 태그 아래 하위 태그인 <li> 태그에서 두 번째에 있는 태그를 크롤링하고 싶다면 어떻게 해야할까요?

 

 

만약 두 번째 태그를 크롤링하고 싶다면 우선 상위 태그인 <ul> 태그를 추출해야 합니다.

 

text1 = soup.find_all('ul', 'list_news')

 

위와 같이 입력하면 text1 에는 모든 <li> 태그에 대한 내용이 담겨 있는데요,

두 번째 <li> 태그만 추출하기 위해 for문을 사용하면 된답니다. 아래 코드를 보도록 하겠습니다.

 

for i in range(len(link)) :
     print((link[i][1]))  #두번째 태그

 

마지막 줄 코드를 보면, link[i][1]이라고 적혀있는데요, 여기서 [1]이 두 번째에 해당하는 태그를 나타냅니다. 

따라서 위와 같이 코드를 입력하면, 두 번째 태그가 출력되는 것을 확인할 수 있습니다.