프로그래밍 방식으로 검색하는 방법 편집 역사에서 페이지를 편집기를 사용하는 파이썬?
-
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>