2011-05-05 6 views
1

웹 스크래퍼를 구축 중이며 실제로 페이지에 표시되는 html 페이지 소스를 가져와야합니다. 그러나, 나는 필요한 정보를 포함하지 않는 제한된 HTML 소스만을 얻습니다. 나는 내가 올바른 인증을 가지고 있지 않기 때문에 미리 자바 스크립트가로드되어 있거나 다른 정보를 얻지 못하고 있다고 생각한다. ?? 내 결과는 Chrome에서 '소스보기'와 동일합니다. 원하는 것은 Chrome의 '조사 요소'가 보여주는 것입니다. 비행 정보를 입력하고 검색 한 후 내 테스트는 cimber.dk입니다.자바 스크립트 및 인증 결과를 포함한 HTML 소스 가져 오기

저는 파이썬으로 코딩하고 있으며 urllib2 라이브러리를 사용해 보았습니다. 그때 나는 Selenium이 이것에 좋다고 들었다. 그래서 나는 그것을 시도했다. 그러나, 그것은 또한 저에게 동일한 한정된 페이지 근원을 얻는다.

이것은 내가 매개 변수를보기 위해 방화 광을 사용한 후 urllib2로 시도한 것입니다. 이 같은

url = 'https://www.cimber.dk/booking/' 
values = {'ARRANGE_BY' : 'D',...} #one for each value 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) 
#Using HTTPRedirectHandler instead of HTTPCookieProcessor gives the same. 
urllib2.install_opener(opener) 
request = urllib2.Request(url) 
opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0')] 
request.add_header(....) # one for each header, also the cookie one 
p = urllib.urlencode(values) 
data = opener.open(request, p).read() 
# data is now the limited source, like Chrome View Source 

#I tried to add the following in some vain attempt to do a redirect. 
#The result is always "HTTP Error 400: Bad request" 

f = opener.open('https://wftc2.e-travel.com/plnext/cimber/Override.action') 
data = f.read() 
f.close() 

답변

2

대부분의 라이브러리가 자바 스크립트를 지원하지 않습니다 (I는 '깨끗한 상태'로 시작 그래서 나는 cimber.dk을 연 후 내 모든 쿠키를 삭제).

자바 스크립트를 원한다면 기존 브라우저 또는 브라우저 엔진을 자동화하거나 본질적으로 고급 웹 크롤러 인 정말로 모 놀리 식 대형 비프 음 라이브러리를 얻어야합니다.

관련 문제