2011-08-19 9 views
2

특정 검색 항목을 가져 와서 결과에 관련된 .CSV 파일 전체를 저장하는 크롤러를 작성하려고합니다.Python 사이트 크롤러, Scrapy로 파일 저장

나는 이미 필요한 모든 HTML 데이터를 구문 분석하는 스파이더를 가지고 있으며, 지금 내가해야 할 일은 필요한 파일을 어떻게 저장할 수 있는지를 파악하는 것입니다.

그래서 검색은 다음 웹 브라우저에 상관 .csv 파일을 저장하라는 메시지를 표시이 https://www.thissite.com/data/file_download.jsp?filetype=1&id=22944

대한 링크를 반환합니다. 이 페이지를로드하고 파일을 다운로드 할 수 있도록 스파이더를 작성하려면 어떻게해야합니까? 아니면 정보에 대한 정적 링크를 잡을 수있는 방법이 있습니까?

+0

URL이 무엇을 반환하는지 확인하십시오. 아마도 리디렉션 일 것입니다. – tripleee

+0

리디렉션이 아닙니다. – howdoicrawlweb

답변

1

CSV 파일에 대한 링크를 크롤링 한 경우 페이지에 로그인 할 수있는 wget을 사용하여 링크를 다운로드 할 수 있습니다.

당신은 --http 사용자 및 --http-passwd 파일을 지정하거나, 다음과 같이 쿠키를 사용합니다 : 그것은 귀하의 사이트에 로그인을 처리하는 방법에 depens

$ wget --cookies=on --keep-session-cookies --save-cookies=cookie.txt --post-data "login=USERNAME&password=PASSWORD" http://first_page 
$ wget --referer=http://first_page --cookies=on --load-cookies=cookie.txt --keep-session-cookies --save-cookies=cookie.txt http://second_page 

. wget을 사용하여 페이지에 로그인 할 수있는 몇 가지 다른 방법이 있습니다. 인터넷 검색으로 찾을 수 있습니다.

이 모든 것을 특별 Scrapy Pipeline에서 수행하는 것이 좋으므로이 스크립트는 외부 스크립트가 아닌 Scrapy에서 수행됩니다.

+0

cookie.txt의 파일 형식은 무엇입니까? 그래서 수동으로 쿠키를 추가 할 수 있습니다. – howdoicrawlweb

+0

은 머리에서 벗어날 수는 없지만 페이지를 사용해 보면서 서식을 직접 확인하는 방법은 무엇입니까? :) 아마도 Firefox에서 볼 수있는 것과 같습니다. – naeg