자바 스크립트를 사용하는 서버 측에서 웹 사이트를 스크랩하고 mysql 데이터베이스로 데이터를 분석 한 후 결과를 저장하는 방법을 찾고 있습니다. 세션 만료없이 링크를 클릭하고 데이터베이스에서 데이터를 제출하여 페이지간에 이동해야합니다. phpquery 웹 브라우저 플러그인을 사용하여 가능합니까? . 나는 casperjs를 사용하여 이것을 시작했다. 나는 두 가지 방법의 장단점을 알고 싶다. 저는 코딩 공간에서 초보자입니다. 도와주세요.자바 스크립트가있는 웹 사이트 스크랩
답변
PhantomJS
또는 CasperJS
을 사용하고 JavaScript 선택기로 DOM을 구문 분석하여 원하는 페이지 부분을 가져 오는 것이 좋습니다. phpQuery는 PHP를 기반으로하므로 사용하지 말고 별도의 단계를 거쳐 처리해야하며 JavaScript DOM 구문 분석 만 사용해야합니다. 또한 PHP를 사용하여 클릭 이벤트를 수행 할 수 없습니다. 클라이언트 측은 PhantomJS 또는 CasperJS에서 실행해야합니다.
PHP가 서버 측 언어라면 PHP를 사용하여 전체 스크래핑 엔진을 작성할 수도 있습니다. 로그인 프로세스를 리버스 엔지니어링하고 각 요청에 대해 로그인을 유효하게 유지하는 cURL 요청과 함께 쿠키 항아리를 유지해야합니다. 웹 사이트와 세션을 설정하면 크롤링 할 링크 배열로 탐색 경로를 설정할 수 있습니다. 웹 크롤링의 기본 개념은 일부 링크에서 페이지를로드하고 페이지를 처리 한 후 다음 링크로 이동하는 것입니다. 모든 페이지가 처리되고 크롤링이 완료 될 때까지이 프로세스를 계속 수행하십시오.
Google 가이드 Making AJAX Applications Crawlable을 스크랩하려는 웹 사이트가 해당 스킴을 채택했을 가능성이 있음 (사이트의 콘텐츠를 크롤링 할 수 있음)을 확인했습니다.
URL의 해시 조각에서 #!
을 찾으려면 사이트가 AJAX 크롤링 구성표를 지원함을 크롤러에게 나타냅니다.
간단히 말하면, 이와 같은 URL을 발견하면. www.example.com/ajax.html#!key=value
www.example.com/ajax.html?_escaped_fragment_=key=value
으로 수정하십시오. 서버는 해당 페이지의 HTML 스냅 샷으로 응답해야합니다.
) PhantomJS와 같은 것을 사용하는 것은 훨씬 더 호환 가능합니다. – Brad
두 개의 큰 웹 사이트에서 사용되는 것을 보았습니다. 그러나 그다지 흔하지는 않습니다. –
- 1. 자바 웹 사이트 스크랩
- 2. 자바 스크립트 웹 사이트 스크랩
- 3. 동적 웹 사이트 스크랩
- 4. 로그인해야하는 웹 사이트 스크랩
- 5. 웹 - 스크랩 asp.net 웹 사이트 r
- 6. AJAX 집약적 인 이미지 웹 사이트 스크랩
- 7. CSV에 대한 웹 사이트 데이터 스크랩
- 8. 파이썬, 스크랩 및 게시 웹 사이트 탐색
- 9. 자바 스크립트 기반 웹 사이트를 웹 스크랩
- 10. jsoup 문제가있는 사이트 스크랩
- 11. 자바 스크립트가있는 웹 페이지에서 파이썬 스크립트를 실행합니다.
- 12. 자바 스크립트가있는 iPad의 로컬 웹 페이지
- 13. 자바 스크립트를 사용하는 웹 사이트에서 데이터 스크랩
- 14. 중첩 프레임 및 자바 스크립트로 웹 스크랩
- 15. 자바 스크립트가있는 상대 URL
- 16. AJAX Post를 사용하여 데이터를 채우는 웹 사이트 스크랩
- 17. 자바 스크립트가있는 PHP 양식
- 18. 자바 스크립트가있는 캔버스 배치
- 19. 자바 스크립트가있는 계산기
- 20. 자바 스크립트가있는 기준선 격자
- 21. 자바 스크립트가있는 크롬에서의 문제
- 22. 자바 스크립트가있는 HTML 탭
- 23. 자바 스크립트가있는 라디오 버튼
- 24. 자바 스크립트가있는 부분 뷰
- 25. 자바 스크립트가있는 이미지 버튼
- 26. 자바 스크립트가있는 지리적 위치
- 27. 자바 스크립트가있는 PHP 변수
- 28. 자바 스크립트가있는 게임
- 29. 자바 스크립트가있는 처리 양식
- 30. 자바 스크립트가있는 텍스트 뒤집기
"* A or B *?" 질문은 실제로 스택 오버플로에 대한 주제가 아닙니다. phpQuery는 추가 플러그인이 필요할 수도 있지만 가능해야합니다. 즉, 사이트에 공개 API가 있는지 확인하거나 소유자에게 문의하여 소유자를 기꺼이 만들 수 있는지 확인하십시오. 좋은 API는 거의 사용하기가 더 쉬울 것입니다. –
정부 사이트이며 API가 없습니다. : –
당신이 원했던 데이터와 어디에 있는지 알고 있다면 당신에게 조언하는 것이 훨씬 쉬울 것입니다 ... – shennan