2013-10-04 2 views
1

나는 파이썬으로 웹 프로그래밍을 배우고 있는데, 내가하고있는 연습 중 하나는 다음과 같다. 나는 웹 사이트 "orbitz.com"을 쿼리하고 최저 운임을 반환하는 파이썬 프로그램을 작성 중이다. 출발 도시와 도착 도시와 날짜는 URL을 구성하는 데 사용됩니다. 다음과 같이파이썬으로 웹 페이지 쿼리하기

나는 urlopen 명령을 사용하여이 일을하고있다 :

from lxml.html import parse 

from urllib2 import urlopen 

parsed = parse(urlopen(search_str)) 

doc = parsed.getroot() 

links = doc.findall('.//a') 

the_link = (links[j].text_content()).strip() 

아이디어는 쿼리 결과에서 모든 링크를 검색 문자열 등을 검색하는 것입니다 (SEARCH_STR URL을 포함) "Delta", "United"등으로 표시하고 링크 옆에있는 금액을 읽습니다.

오늘까지 성공적으로 작동했습니다. orbitz.com의 출력 페이지가 변경된 것 같습니다. 이제 orbitz.com 웹 사이트에 여행 세부 정보를 입력하면 "둘러보기"또는 그 효과가있는 바퀴가 표시된 페이지가 나타납니다. 이것은 단지 필러 페이지이며 실제 정보가 없습니다. 몇 초 후에 실제 결과 페이지가 표시됩니다. 불행하게도, 파이썬 코드는 매번 필러 페이지에 대한 링크를 반환하고 결코 실제 결과를 얻지 못합니다.

어떻게이 문제를 해결할 수 있습니까? 필자는 웹 프로그래밍의 상대적인 초보자이기 때문에 어떤 도움을 주시면 감사하겠습니다.

답변

0

이런 종류의 것들은 크롤러 세계에서 정상입니다.

"여행 일정 페이지"다음에 리디렉션되는 URL을 알아 내고 스크립트에서 해당 URL을 직접 누르십시오.

그런 다음 최종 검색 결과 페이지가 변경되었는지 확인하십시오. 그렇다면 변경 사항을 수용하도록 스크립트를 수정하십시오.

+0

감사합니다. 그러나, 나는 아직도 붙어있다. 필러의 URL이 결과 페이지의 URL과 정확히 일치하는 것 같습니다. 또는 실제 URL이 표시되지 않았을 수 있습니다. URL이 브라우저에 표시되지 않는 경우 URL을 가져 오는 방법을 알려주시겠습니까? – Aravind

+0

당신이 말해주지 않는 한 웹 사이트는 무엇입니까? URL은 무엇입니까? –

관련 문제