반응형
링크
추가적으로 시도했던 크롤링>
출력대상을 담은 태그
각 출력대상
위 대상을 뽑고 싶은데 못 뽑음.
하단 코드는 다른 코드임
위 copy selector를 하단과 같이 요약해줘도 정상적으로 출력된다.
위처럼 붙어있는 상태로 나와서 구분하기 어렵다
이때는 copy element를 해준다.
그런데 첫번째 리스트와 2번쨰 리스트의 아이디가 다르다
span클래스와 em클래스가 다르다. 상승,하락에 따라 class가 달라진다
<li>
<a href="/world/sise.nhn?symbol=DJI@DJI&fdtc=0" onclick="clickcr(this,'wst.dow','','',event)">다우산업</a>
<span class="dn">26,957.59</span>
<em class="bu_p bu_pdn">
<span class="blind">하락</span>
</em>
</li>
<li>
<a href="/world/sise.nhn?symbol=NAS@IXIC&fdtc=0" onclick="clickcr(this,'wst.nasdaq','','',event)"> 나스닥</a>
<span class="up">8,980.78</span>
<em class="bu_p bu_pup">
<span class="blind">상승</span>
</em>
</li>
그리고 위와 같이 태그별로 분리한 뒤 어떻게 할지 생각해보자
select로 뽑은 데이터도 다시 find나 select로 2차 가공이 가능하다는 점을 이용하자
select
select는 리스트형태로 반환하기에 따로 .get_text()와 같은 변환이 안된다
find
반면 find는 list타입이 아닌 <class 'bs4.element.Tag'> 이며, .get_text()적용이 가능하기에 깔끔하게 정리할 수 있다.
하지만 위 처럼 태그는 같지만 클래스가 다른 경우, none이란 값으로 나온다.
고로 태그만 써준다.
그런데 신기한게, span만 입력했을 뿐인데 알아서 몇번째 span인지 인식한다..!
아마 앞쪽 span은 첫번쨰 span을 의미하고 그 다음은 그 다음순서의 span을 나타내는 듯 하다.
반응형
'● 크롤링, 자동화 > BeautifulSoup' 카테고리의 다른 글
[잔재미코딩] 4. 게시판 크롤링, 반복문, 엑셀파일 정리 (0) | 2020.03.04 |
---|---|
[잔재미코딩] [오류해결] 인코딩 문제가 발생하면 urllib를 쓰라! (0) | 2020.03.04 |
[잔재미코딩] 2-1 select를 활용한 크롤링 (0) | 2020.02.26 |
[잔재미] 파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기. 4강 (0) | 2020.01.13 |
[잔재미] 파이썬을 이용한 웹 크롤링(Web Crawling) 어플리케이션 만들기. 3강 (0) | 2020.01.13 |