BLOG/웹크롤링

[웹크롤링] 자주 사용되는 select 함수 5가지 - 코드 입력 형식

알디노 2021. 3. 18. 12:33

 

select함수는 find() 함수와 find_all 함수와는 다르게 여러 기능들을 사용할 수 있는데요,

주로 사용되는 코드 입력 방식에 대해 설명드리도록 하겠습니다.

 

 

1. 태그 이름

먼저 첫 번째로, select 함수는 원하는 태그를 찾을 때 많이 사용됩니다.

태그 이름으로 요소를 찾을 때 아래와 같이 입력하면 됩니다.

 

soup.select('태그 이름')

 

위 코드에서 soup 는 soup = BeautifulSoup(html, 'html.parser') 로 설정된 변수입니다.

한편, 태그를 찾기 위해서 select() 함수 안에 '태그 이름' 을 입력하면 해당 요소가 선택됩니다.

 

2. 클래스 이름

두 번째로, select() 함수를 이용하여 클래스 이름을 찾는 코드는 다음과 같습니다.

 

soup.select('.클래스 이름')

 

이때, 클래스 이름 앞에 반드시 '.' 을 입력하셔야 한답니다.

 

 

3. 상위태그 - 하위태그

세 번째로, select 함수에서는 상위태그, 하위태그를 결합하여 원하는 요소를 찾을 수 있는데요,

만약 상위태그 아래 하위태그1, 그 아래 하위태그2에 있는 요소를 찾고 싶다면 아래와 같이 입력하면 됩니다.

 

soup.select(' 상위태그 > 하위태그1 > 하위태그2 ') 

 

이 방법도 많이 사용되는데요, 이때 부등호 앞뒤로 꼭 빈칸이 있어야 한답니다. 그렇지 않으면 해당 태그를 잘 찾지 못할 수도 있습니다.

 

4. 상위태그 클래스 이름 - 하위태그 클래스 이름

한편, 상위태그의 클래스 이름과, 하위태그 클래스 이름을 구체적으로 제시함으로써 원하는 요소를 찾을 수 있는데요,

아래와 같이 사용하면 됩니다.

 

soup.select(' 상위태그.클래스이름 > 하위태그.클래스이름 ') 

 

이 방법도 많이 사용되는데요, 역시 부등호 앞뒤로 빈칸을 꼭 두어야 합니다.

 

5. 아이디

마지막으로, 아이디 명을 이용해서 원하는 요소를 찾는 기능이 select() 함수에 있는데요,

아래와 같이 아이디 앞에 '#'을 붙여서 작성해야 한답니다.

 

soup.select('#아이디') #아이디 앞에는 '#' 붙여주세요

 

 

 

이렇게 자주 사용되는 select() 함수 사용 방법에 대해서 살펴보았는데요,

잘 숙지했다가 적절하게 사용하시기 바랍니다 :D