문제

방문하는 경우 이 링크 지금은 아마도 vbscript 오류가 발생할 것입니다.

반면에 방문하면 이 링크는 먼저 그리고 그 다음에 위의 링크 (동일한 세션)에서 페이지가 제공됩니다.

이 응용 프로그램이 설정되는 방식은 첫 번째 페이지는 두 번째 (메인) 페이지에서 프레임 역할을하는 것입니다. 조금 클릭하면 어떻게 작동하는지 알 수 있습니다.

내 질문 : Python으로 첫 페이지를 어떻게 긁어 내야합니까? 나는 내가 생각할 수있는 모든 것을 시도했다 - urllib, urllib2, mechanize-. 그리고 내가 얻는 것은 500 오류 또는 시간 초과 뿐이다.

나는 대답이 기계화와 관련이 있다고 생각하지만 Mechanize-FU는 이것을 깨뜨릴만큼 충분하지 않습니다. 누구든지 도울 수 있습니까?

도움이 되었습니까?

해결책

항상 요청/응답 모델로 이어집니다. 원하는 응답을받을 수 있도록 일련의 HTTP 요청을 제작하면됩니다. 이 경우 각 요청을 동일한 세션의 일부로 처리하려면 서버도 필요합니다. 이를 위해서는 서버가 어떻게 추적하는지 파악해야합니다. 쿠키에서 숨겨진 입력, 액션, 게시물 또는 쿼리 문자열을 형성하기위한 여러 가지 일 수 있습니다. 이 경우 쿠키에 돈을 넣을 것 같아요 (링크를 확인하지 않았습니다). 이것이 사실이라면, 첫 번째 요청을 보내고, 돌아온 쿠키를 저장 한 다음, 쿠키를 두 번째 요청과 함께 보내야합니다.

초기 페이지에는 두 번째 페이지로가는 버튼과 링크가있을 수도 있습니다. 그 링크에는 같은 것이 있습니다 <A href="http://cad.chp.ca.gov/iiqr.asp?Center=RDCC&LogNumber=0197D0820&t=Traffic%20Hazard&l=3358%20MYRTLE&b="> 첫 페이지에서 많은 gobbedlygook가 생성되는 곳입니다.

그만큼 "Center=RDCC&LogNumber=0197D0820&t=Traffic%20Hazard&l=3358%20MYRTLE&b=" 부품은 첫 페이지에서 가져와야 할 일부 세션 정보를 인코딩합니다.

물론, 당신은 둘 다해야 할 수도 있습니다.

다른 팁

당신은 또한 시도 할 수도 있습니다 BeautifulSoup 기계화 외에도. 나는 긍정적이지는 않지만 Dom을 프레임 페이지로 구문 분석 할 수 있어야합니다.

나도 찾습니다 변조 데이터 스크레이퍼를 쓸 때 다소 유용한 플러그인이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top