2013-01-24 21 views
3

여러 페이지가있는 웹 사이트를 크롤링하고 페이지 번호를 클릭하면 동적으로로드됩니다. 화면을 스크래핑하는 방법은 무엇입니까?페이지 탐색에 동적로드가 포함되는 웹 사이트를 크롤링하는 방법

즉 URL이 href로 없거나 다른 페이지로 크롤링하는 방법이 있습니까?

누군가 나를 도와 주면 큰 도움이 될 것입니다.

PS : 다른 페이지를 클릭하면 URL이 동일하게 유지됩니다.

답변

0

HTML 대신 자바 스크립트 코드에서 원하는 데이터를 찾을 수 있습니다. 이것은 보통 고통이지만 정규 표현식으로 재미있는 일을 할 수 있습니다.

또는 splinter과 같은 브라우저 테스트 라이브러리 중 일부는 스크래핑하기 전에 파이어 폭스 또는 크롬과 같은 실제 브라우저에서 페이지를로드하여 작동합니다. 이 중 하나는 브라우저가 설치된 시스템에서이 프로그램을 실행하는 경우 작동합니다.

1

당신이 구글 크롬을 사용하는 경우, 당신은 동적으로 그것이 GET 또는 POST 요청인지를 식별 할 수 있도록 기반 개발자 도구

network->headers에 호출되는 URL을 확인할 수 있습니다.

GET 요청 인 경우 url에서 바로 매개 변수를 찾을 수 있습니다.

POST 요청 인 경우 form data의 매개 변수는 network->headers 의 개발자 도구에서 찾을 수 있습니다. 여기 http://www.crummy.com/software/BeautifulSoup/

문서는 : 그것이 아약스 매김이기 때문에 http://www.crummy.com/software/BeautifulSoup/bs3/download/2.x/documentation.html

+0

매개 변수가 사용되지 않습니다. URL은 동일하게 유지됩니다. Ajax 기술이 사용 된 것으로 가정합니다. – Dhatri

+0

가능한 경우 크롤링하려는 URL을 붙여 넣을 수 있습니까? – shanks

+0

: www.samsung.com/in/consumer/mobile-phone/mobile-phone/smartphont – Dhatri

0

, 아름다운 수프 언급되어야한다 심지어 mechanize으로). 대신 페이지의 소스 파일을 열고 Ajax 페이지 매김에 사용 된 URL 요청이 무엇인지 알아보십시오. 그런 다음 위조 된 요청을 다시 생성하여 사용자가 직접 처리 할 수 ​​있습니다.

0

당신은 (쉽게 할 수 없어이 게시물은 파이썬과 웹 크롤러 태그 되었기 때문에

+0

셀렌 라이브러리가 도움이됩니까? – Dhatri

+0

나는 결코 셀렌과 놀지 않는다. (너는 그것을 시도해야한다.) –

2

임의의 javascript 명령을 실행하고 양식을 채우며 신속하게 스냅 샷을 만들 수 있으므로 Ghost.py도 고려해야합니다.

0

gevent를 사용해도 상관없는 경우. GRobot 다른 좋은 선택입니다.

+0

Stackoverflow에 오신 것을 환영합니다! 일반적으로 우리는 사이트에 대한 답변을 좋아합니다. 링크는 훌륭하지만 링크가 끊어지면 대답이 있어야합니다. 여전히 도움이 될만한 정보가 있습니다. 자세한 내용을 포함하여 답변을 편집 해보십시오. 자세한 내용은 [FAQ] (http://www.stackoverflow.com/faq)를 참조하십시오. – slm

관련 문제