2017-09-21 1 views
0

수천 개의 데이터를 수집하는 내 웹 스크래핑 스크립트를 실행 중입니다. 문제는 오류가있을 때 계속 멈추는 것입니다. 나는 단지 오류를 기록하고 다음 url을 계속하기를 원한다. 여기에 나는 현재 내가 스크립트를 중지하고 로그에서 오류를 방지 할 수있는 방법 예외오류 메시지와 함께 스크래핑을 계속하는 방법

uClient3 = '' 
while uClient3 == '': 
    try: 
     uClient3 = requests.get(fsgsubcard2ref) 
     print("Proceding to the next level in...") 

    except: 
     print("Connection refused by the server..") 
     print("Let me sleep for 7 seconds") 
     print("ZZzzzz...") 
     time.sleep(8) 
     print("Was a nice sleep, now let me continue...") 

     continue 

에 관해서이 무엇인가?

+0

코드가 깔끔하게 들여 쓰기되어 있습니다. 'continue' 문은 어디에 속합니까? 'except'는 실제로 당신이 게시 한 방식으로 들여 쓰여졌습니까? – DyZ

+0

그리고 오류 스택 추적을 추가하십시오. –

+0

이것은 [mcve]입니까? 귀하의 try 문 루프를 종료해서는 안됩니다 –

답변

-1

uClient3 = requests.get(fsgsubcard2ref) 후, uClient3Response 객체를 저장할 것입니다, 당신의 조건 while uClient3 == ''False를 반환합니다. 내 편에서 가장 좋은 방법은 for-loop를 사용하는 것입니다.

for i in fsgsubcard2ref: # fsgsubcard2ref should be a list() with all url, or you can can use variable with another name 
    try: 
     response = requests.get(i) 
     # processing 
    except: 
     print('Error') 
+1

무슨 말씀 이세요 ??? – DyZ

+0

@DYZ'requests.get ('https://stackoverflow.com')'리턴'응답,'str'이 아닙니다. while'uClient3 == '''매번'False'가됩니다. 왜냐하면'Response! = '' ' – AndMar

+0

fsgsubcars2ref가 URL로 보입니다. 그래서 당신은 URL에있는 모든 문자에 대해 HTTP 요청을 만들어 매번 실패하고 오류를 인쇄합니다. – Kyle

관련 문제