문제

저는 Java 개발자이고 내가받은 작업을 자동화하는 것에 대한 질문이 있습니다. 매일 3 번, 직장에있는이 웹 사이트에 로그인하고 몇 가지 양식 요소를 선택한 다음 제출을 클릭하여 보고서를 인쇄했습니다. 이 작업을 자동화 할 스크립트를 어떻게 쓸 수 있는지 궁금합니다. 어디에서 시작해야합니까? 어떤 언어로해야합니까? 나는 PHP가 이것을 할 수 있다고 생각했거나 심지어 Greasemonkey 스크립트를 할 수 있다고 생각 했습니까?

정말 감사합니다.

도움이 되었습니까?

해결책

체크 아웃 곱슬 곱슬하다 PHP에서. 코드를 사용하여 웹 브라우저의 모든 일반 기능을 수행 할 수 있습니다 (마우스 이동 외에). 그리고 네, 스크래핑을해야합니다.

다른 팁

아직 접촉하지 않은 잠재적 고정점은 "이 웹 사이트에 로그인"이라는 문구라고 생각합니다. 로그인 해야하는 방법에 따라 보고서에 액세스하려면 뒷문을 통해 들어가야 할 수도 있습니다.

과거에는 제 3 자 사이트에서 보고서를 다운로드해야 할 때 이런 종류의 문제가있었습니다. 문제는 하드 코딩되고 스크립트보다 덜 친숙한 방법으로 인해 사이트에 로그인해야했기 때문에 보고서 매개 변수에 액세스 할 수 없다는 것이 문제였습니다. 그러나 귀하의 사이트가 귀하의 조직 내부에 있다고 가정하므로 데이터에 액세스하기 위해 보안 요구 사항을 우회/재 작업 할 수 있습니다. 이 경우 위에서 설명한 화면 스크래핑 방법 중 하나를 사용할 수 있어야합니다.

그렇지 않은 경우 실제 로그인 절차를 스크립트 또는 응용 프로그램에 통합하고 설정할 수있는 쿠키를 다운로드하여 캡처하고 데이터 요청에 통합해야 할 수도 있습니다.

나는 당신의 양식이 어떤 언어로 작성되었는지 모르겠지만, 당신이 할 수있는 것은 다음과 같습니다.

  • 양식을 호출 할 때 보고서를 생성하는 스크립트에 양식을 다시 작성하십시오.
  • a 크론 이 작업을 매일 완료하고 출력을 우편으로 일정에 입력하십시오.

CRON은 기본적으로 UNIX 시스템에서 예정된 작업입니다. Windows 기반 서버는 작업 스케줄러를 거의 같은쪽으로 사용할 수 있습니다.

위의 내용은 현재 보고서를 생성하는 스크립트에 액세스 할 수 있고 출력을 이메일로 보내는 새 파일로 복사 할 수 있다고 가정합니다. 그렇지 않다면 화면 스크래핑을 살펴 봐야 할 수도 있습니다. Java 개발자이므로 찾을 수 있습니다 이 Java 스크래핑 유틸리티 목록 당신을 시작하기 위해 편리합니다.

이를 "웹 스크래핑"또는 "화면 스크래핑"이라고하며,이를 수행하기 위해 많은 라이브러리가 있습니다. 그래도 Java 특정 도구와 대화 할 수 없었습니다. 저는 .NET Guy입니다 (.NET Way는 System.net.ne.webclient 또는 System.net.httpwebrequest/system.net.httpwebresponse)입니다. 그러나 나는 무언가가 있다고 확신합니다.

그 동안 첫 번째 단계는 양식 값을 입력하고 페이지 소스를 보는 페이지로 이동하는 것입니다. 구체적인 것을 찾으십시오u003Cform> 작성하는 요소를 작성하고 어디에 게시하는지 확인합니다. 동작). 그런 다음 찾으십시오u003Cinput>u003Cselect> ,,u003Ctextarea> 양식에 대한 숨겨진 입력을 포함하여 사용하는 요소를 포함하고 어떤 값을 가져야하는지 파악하십시오. 라이브러리를 찾을 수있는 라이브러리를 찾으면 요청을 구축하는 방법을 알려줍니다.

페이지에 먼저 사이트에 로그인 해야하는 경우 상황이 더 복잡해 질 수 있습니다. 세션 값을 검색하고 구문 분석하거나 특정 쿠키를 서버로 보내야 할 수도 있습니다.

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