2010-04-09 3 views
4

안녕하세요 메신저 건물 스크레이퍼를 얻고 문제에 따라 하지만 메신저 stuble을 BeautifulSoup로하는 기계화 ... 웹 페이지의 일부가 어떤 버튼을 사용자가 클릭 한 후 을 생성, 아약스를 whitch 시작 적절한 매개 변수를 사용하여 특정 javacript 함수를 호출하여 요청하십시오.BeautifulSoup로와 파이썬 2.5을 사용하여 아약스 호출 결과를

사용자 상호 작용을 시뮬레이트하고이 결과를 얻는 방법은 무엇입니까?

내가

답변

6

나는 내가 URLLIB, ulrlib2의 조합을 사용하고 BeautifulSoup로 수 있다는 것을 깨달았다 후에는 아주 간단했다 ... 그것을 알아 낸 있도록 확인

import urllib, urllib2 
from BeautifulSoup import BeautifulSoup as bs_parse 

data = urllib.urlencode(values) 
req = urllib2.Request(url, data) 
res = urllib2.urlopen(req) 
page = bs_parse(res.read()) 
+2

나는 같은 문제에 직면하고있다 ... pls 도움 ... 무엇이'values' – Umair

3

아니, 당신은 그렇게 할 수없는 링크 나 일부 코드 샘플을 주셔서 감사합니다 감사 것입니다 ... 나는 기계화 모듈 건너하지만이 대부분 형태로 작업하는 데 사용되는 것을 나에게 보인다 용이하게. AFAIK 옵션은 가장 쉬운 첫 번째입니다 :

  1. 은 자신이 인간 프로그래머로, 그것을 이해 자바 스크립트 코드 AJAX를 읽고, 다음 AJAX 손으로 호출을 시뮬레이션하기 위해 파이썬 코드를 작성합니다. 또한 일부 캡처 소프트웨어를 사용하여 실시간으로 생성 된 요청/응답을 캡처하고 코드로 재생산하려고 시도 할 수도 있습니다.
  2. selenium 또는 다른 브라우저 자동화 도구를 사용하여 실제 웹 브라우저에서 페이지를 가져옵니다.
  3. spidermonkey 또는 pyv8과 같은 Python 자바 스크립트 러너를 사용하여 자바 스크립트 코드를 실행하고 HTML DOM 복사본에 연결합니다.
+0

안녕하세요, 첫 번째 옵션이 될 wouldnt하는 것을 쉽게하기 때문에 javascript는 포장 된 버전입니다 머리 위로 해줘서 고마워요. 우선 tommorow를 보도록하겠습니다. – nabizan

+0

@nabizan : 그 이유는 또한 옵션 1에서 캡처 소프트웨어 사용을 제안했기 때문입니다. – nosklo

+0

안녕하세요. 내가 무엇을 부르고해야하는지. 그것보다 훨씬 쉽습니다 (자세한 내용은 내 대답을 참조하십시오) – nabizan

관련 문제