문제

웹 사이트에서 데이터 추출을 자동화하려고 노력하고 있으며 어디서부터 시작 해야할지 모르겠습니다. 당사의 공급 업체 중 하나가 A를 통해 일부 장비 로깅 데이터에 액세스 할 수 있습니다.비즈니스 개체 11"온라인 응용 프로그램.이 온라인 앱에 익숙하지 않은 경우 웹 기반 보고서 생성기로 생각하십시오. 문제는 많은 장비를 모니터링하려고하는 것입니다.이 공급 업체는 하나의 로그 추출 요청 만 만들었습니다. 이 요청은 장비 번호, 시작 날짜 및 종료 날짜를 가져옵니다. 설상가상으로, 우리는 De "CSV"내보내기가 파산되었고 수정을 거부하기 때문에 이진 Excel 형식으로 만 내보낼 수 있습니다. 따라서 우리는 Excel의 65 536 행 제한에 의해 제한됩니다 ... (제 경우에는 3-4 일의 데이터 녹화에 해당). 공급 업체 만 필요한 관리 권한을 갖기 때문에 새로운 Resquest를 만들 수 없습니다.

웹 GUI를 통해 많은 요청을 실행하는 가장 우아한 방법은 무엇이라고 생각하십니까? 나는 마우스 위치를 하드 코드, 이벤트를 클릭하고 지연과 모든 것을 갖춘 키 스트로크를 할 수 있다고 생각합니다. 그러나 더 나은 방법이 있어야합니다.

AutoHotkey 및 Autoit 스크립팅에 대해 읽었지만 웹에서 할 수있는 일에 대해서는 제한된 것 같습니다. 또한 ... IE6에 갇혀 있습니다 ...하지만 다른 브라우저와 관련된 방법을 알고 있다면 여전히 귀하의 답변에 관심이 있습니다.

(로그 파일을 로컬로 가지고 있으면 데이터 추출은 다음과 같습니다. ~ 아니다 문제)

도움이 되었습니까?

해결책

당신이 시도 할 수있는 것들이 몇 가지 있습니다. 사이트가 HTML이고 간단한 게시물로 보고서를 요청하거나 얻을 수있는 경우 urlib/urlib2 그리고 Cookielib Python 모듈은 Excel 문서를 가져 오기에 충분해야합니다.

그런 다음 시도해 볼 수 있습니다. xlrd Excel에서 데이터를 추출합니다.

또한 다음을 살펴보십시오. http://pamie.sourceforge.net/. 나는 그것을 직접 시도한 적이 없지만 유망하고 사용하기 쉬운 것처럼 보입니다.

다른 팁

일반적으로 IE (또는 모든 브라우저)를 전혀 사용하지 않는 것이 좋습니다. 웹 브라우저 소프트웨어는 HTTP 요청을 작성하고 결과를 의미있는 방식으로 표시하기위한 프록시 프로그램 일뿐입니다. 유사한 HTTP 요청을하고 응답을 처리 할 수있는 다른 방법이 있습니다. 거의 모든 현대 언어에는 API가 어딘가에 내장되어 있습니다. 이것을 화면 스크래핑 또는 웹 스크래핑이라고합니다.

그러나이 제안을 완료하려면 프로그래밍 환경에 대해 더 알아야합니다. 즉,이 스크립트 작성을 구상하는 프로그래밍 언어에서 어떤 프로그래밍 언어로?

문자열로 HTML 결과를 얻는 C#을 사용하는 일반적인 예는 다음과 같습니다.

new System.Net.WebClient().DownloadString("http://example.com");

그런 다음 문자열을 구문 분석하여 필요한 필드를 찾아 다른 요청을 보냅니다. WebClient 클래스에도 a .DownloadFile() Excel 파일을 검색하는 데 유용 할 수있는 방법.

.NET을 사용할 수 있으므로 Windows Forms Webbrowser 컨트롤 사용을 고려해야합니다. 사이트로 이동하고 버튼을 누르기 위해 자동화 할 수 있습니다. 보고서 페이지가로드되면 코드를 사용하여 HTML DOM을 탐색하여 원하는 데이터를 찾을 수 있습니다.

나는 몇 년 전 eBay에서 경매 데이터를 추출하기 위해 같은 일을했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top