일동제약 상세 페이지 크롤링하기 기본적인 함수를 넣고 확인해보고 페이지에 따라 이동하는 것을 구하기 위해서 아래와 같이 페이지가 바뀌게끔 url을 만든다. 해당 페이지에 상세페이지로 이동하여 클릭하고 안에 있는 데이터를 긁어오고 나오려 한다. 그러기 위해선 해당 링크를 타고 가기 위해 어디로 가야 하는지 경로를 확인하고 상세 페이지에서 필요한 부분이 어떤것인지 확인한다. 이걸 진행하면 자동화 프로그램에서 깜빡거리면서 페이지가 바뀌고 크롤링하는 모습을 볼 수 있다.
동적으로 움직이면서 크롤링하기 네이버에 해당 사이트를 크롤링해보자. 해당 사이트에서 전체 제조사라는 것을 클릭하고 그 나온 결과를 크롤링하려 한다. 사이트는 https://auto.naver.com/bike/mainList.nhn 다. 저 전체 제조사라는 버튼을 클릭하려 한다. 해당 엘리먼트를 가져오는데 class 부분을 가져온다. 이렇게 까지 하면 해당 부분을 클릭하게 된다. 그러면 결과가 이렇게 되고 다음에는 해당 부분의 제조사를 모두 가져오기 위해 li 부분을 가져온다. 해당 부분의 li는 중복되는 경우가 있어서 아래와 같이 경로를 세부적으로 설정하여 만들어 주었다. 그다음은 가져왔던 bikeElements를 리스트 형태로 되어 있는데 이것을 for문으로 하나씩 뽑고 그중에 내가 필요한 span을 ..
이제는 네이버 랩을 크롤링해보자 가져올 부분은 해당 부분이다. 해당 부분을 가져오려 할 때 기본적으로 이 함수들을 넣어주고 해당 class를 가져오려 하기 때문에 css_selector를 가져오고 해당 클래스 명인. rank_top 1000_list를 가져온다. 그 다음 ul태그였던 rank_top1000_list에서 li로 되어 있는걸 모두 가져온다. 여기서 저장한 ul_tag에서 원하는 태그(li)를 가져오기위해 find_elements_by_tag_name('li')로 가져오게한다. 여기서가져온 li_tag_list를 하나씩 빼서 출력을 하는데 개행문자를 기준으로 나눠서 나오게 출력 한다.
Seleium을 통한 동적 크롤링 첫 번째로는 기본적인 함수를 넣어준다. 위에 간단하게 셀레늄을 통해 요소를 찾는 방법들을 정리했다. driver.get('url')이라는 명령어 구문으로 해당 사이트를 접속한다. 해당 부분에서 나는 메뉴에 따라서 크롤링을 하려 한다. 그러기 위해서 해당 부분이 어떤 것으로 이뤄졌는지 확인한다. 해당되는 모든 요소를 가져오기위해 find_elements를 사용하였고 나는 class를 가져오기 때문에 뒤에 추가적으로 _by_css_selector을 붙여줬다. 그리고 가져오는 부분의 이름을 적어주고 경로까지 적어주었다. 이런 방식으로 가져온다. menus 를 가져온다. 그다음 가져온 menus를 하나씩 꺼내어 menu를 클릭하는 로직을 구현한다. 여기서는 menu 중에 Pyt..