프로그래밍 방식으로 검색하는 방법 편집 역사에서 페이지를 편집기를 사용하는 파이썬?

StackOverflow https://stackoverflow.com//questions/9645426

  •  10-12-2019
  •  | 
  •  

문제

내가 노력하고 프로그래밍 방식으로 검색이 편집 역사에서 페이지를 잡 웹 사이트입니다.(musicbrainzngs 은 라이브러리에 대한 MB 웹 서비스,그리고 편집 역사에서 액세스할 수 없는 웹 서비스).이를 위해,필요에 로그인하 MB 웹 사이트를 사용하여 내 사용자 이름과 암호를 입력합니다.

나는 시도를 사용하는 mechanize 모듈을 사용하여 로그인 페이지로 두번째 형태로(첫 번째는 검색 폼),제출 내 사용자 이름과 암호를;응답에서,그것은 내가 성공적으로 로그인 사이트;그러나,더욱 요구하는 편집 역사 페이지 예외가 발생합니다:

mechanize._response.httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

내가 이해하는 예외에 대한 이유다.내가 책임은 전적으로 남용하지 않는 사이트(결국,어떤 사용될 것이 태그 내 사용자 이름)난 그냥을 피하려면 수동으로 페이지 열기,저장하는 HTML 고 실행하는 스크립트에 저장됩니다.극복할 수 있는 403 오류가?

도움이 되었습니까?

해결책

하려면을 우회 사이트 robots.txt, 이 목적을 달성할 수 있습으로 말하는 너의 mechanize.Browser 을 무시하기 robots.txt 파일입니다.

br = mechanize.Browser()
br.set_handle_robots(False)

또한,당신은 당신할 수 있습을 변경하려는 귀하의 브라우저의 사용자 에이전트가 당신이 하지 않아도 모양처럼:로봇

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

하시기 바랍는 이렇게 할 때,당신은 실제로 속이는 사이트로 생각하고 당신은 유효한 클라이언트입니다.

다른 팁

더 나은 해결책은 robots.txt 파일을 존중하고 편집 데이터 자체를 다운로드하고 스크린 스크레이 뮤직 브레이 즈를 다운로드하는 것입니다.아래에서 완전한 편집 기록을로드 할 수 있습니다 :

ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport <./ a>

파일 mbdump-edit.tar.bz2를 찾습니다.

, MusicBrainz 팀의 지도자로서, 나는 robots.txt를 존중하고 편집 데이터를 다운로드하라는 것을 묻고 싶습니다.그게 우리가 편집 데이터를 다운로드 할 수있는 이유 중 하나입니다.

감사합니다!

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