파이썬 크롤링 방식 중 무엇을 써야 할까요?
조회수 2319회
안녕하세요. 저는 주로 PHP로 웹개발을 하고 있습니다. 현재 필요한 기능이 쇼핑몰의 판매자페이지에서 주문/문의/클레임 관련하여 수집하거나 송장번호를 전송하여 각 쇼핑몰에 일괄적으로 업데이트 시켜주는 크롤링 프로그램을 개발하려 합니다.
현재 selenium과 크롬 웹드라이버, 파폭을 사용하여 구현해 보았으나, 여러가지 문제점이 생겨 다른 방식을 찾는것이 나을듯 하여 질문을남깁니다.
우선 가장 힘든부분이 주문데이터 수집입니다. 보여지는 내용에서 긁어 파싱하는건 어렵지 않았습니다. (selenium 이던 bs 든..) 하지만 보여지는 내용은 극히 일부이고, 더 필요한 정보를 보려면 보통 주문번호를 클릭한다던지 해서 동적으로 생성되는 (Ajax) 내용을 파싱하여 나머지 정보를 가져와야 했습니다. 하지만 이 방식은 너무 느립니다. 매번 주문번호를 하나씩 클릭해줘야 하기 때문에..
selenium으로 브라우저를 제어하는건 사용자가 도중 중지가 안되고, 또 사이트에 어떠한 변수(레이어 팝업이 뜬다던지.. 로그인 후 비밀번호 변경을 하라고 하던지 등..)가 발생되면 오류를 띄웁니다.
bs로는 파일 다운로드가 어려웠습니다. 보통 쇼핑몰 관리자에서 엑셀로 데이터를 다운로드 하려하면, 동적으로 엑셀파일을 만들어 다운로드되게 되는데, 이게 PHP로 보통 구현하면 header를 정의하여 브라우저가 자동으로 다운로드를 하게끔 보통 만들자나요? 아마도 모두 그런식으로 처리되는것으로 보입니다.
selenium 은 엑셀 다운로드가 가능하지만, 브라우저 자체를 제어하는 형태라 전체적으로 속도가 느립니다. 또한 사이트에 발생하는 코드로 구현해두지 않은 부분이 나타나면 어김없이 오류를 출력합니다.
bs는 동적으로 생성되는 파일을 다운로드 할수가 없었습니다. 쿠팡의 경우 생성되는 주문 엑셀 파일의 경로가 매번 다릅니다. 이 경로를 파헤치는것도 저에겐 너무 힘들어서 도중 포기 했습니다 ㅠ.ㅠ
남은건 scrapy 인데 이것도 bs와는 크게 다르지 않아 보입니다. 보통 어떻게 구현해야 하나요?
도움 좀 부탁드립니다. ㅠ.ㅠ 파이썬을 발로 배우고 있습니다.
이것을 어떻게든 개발해내야 먹고 살길이 열립니다. 부탁드립니다. 간절 합니다. (__)
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
"쿠팡 주문 엑셀 파일"은 쿠팡 공식 API를 가지고 만들어낼 수 있을 거 같은데요? 옥션, 11번가도 공식 API가 있으니 가급적 이쪽들을 고려해 보심이 어떤가 합니다. 제가 알기로 크롤링은 항상 마지막의 최악의 선택이어야 합니다. 마치 PHP의 몇몇 문제에서
exec()
이 최후의 선택이 되듯이 말이죠.- 답변 정말 감사드립니다. 예를들면 쿠팡이라는것이고, 대부분은 API를 제공해주지 않고 있습니다. 크롤링할 사이트가 200여군데는 넘거든요.. 하지만 대부분 엑셀 파일 다운로드 방식이 php 헤더를 사용하는 방식이라.. 쿠팡을 예로들었을때 경로를 알기 어려워서 selenium 말고는 크롤링할 방법이 없는것인지를 알고 싶은것입니다. API쓰면 매우 편하지만.. 대형 쇼핑몰 중에도 이 API를 제공해주지 않는곳도 더러 있고, 또한 대형쇼핑몰이라 할지라도 별도의 제휴를 해야만 가능하다던가.. 여러가지 문제가 많이 있었습니다. 그렇다면 크롤링은 더이상 방법이 없는것인지요.. 알 수 없는 사용자 2018.9.15 18:42
- 말씀하시는 방식이라면 selenium으로 브라우저 환경을 흉내내서 가져오는 게 최선일 것 같네요. 엽토군 2018.9.16 02:46
댓글 입력