URL을 사용하여 페이지의 <title>
태그 값을 반환하는 스크립트가 있습니다. 몇 백 정도 실행 후, 나는 항상 같은 오류가 발생합니다 :왜 httplib2.RedirectLimit 오류가 발생합니까?
def get_title(pageurl):
http = httplib2.Http()
status, response = http.request(pageurl)
x = BeautifulSoup(response, parseOnlyThese=SoupStrainer('title'))
x = str(x)
y = x[7:-8]
z = y.split('-')[0]
return z
매우 간단합니다 :
File "/home/edmundspenser/Dropbox/projects/myfiles/titlegrab.py", line 202, in get_title
status, response = http.request(pageurl)
File "/usr/lib/python2.7/dist-packages/httplib2/__init__.py", line 1390, in _request
raise RedirectLimit("Redirected more times than rediection_limit allows.", response, content)
httplib2.RedirectLimit: Redirected more times than rediection_limit allows.
내 기능은 같다. 내가 try
과 except
과 time.sleep(1)
을 사용하여 문제가된다면 아무런 문제가 없을 수도 있지만 아직까지는 아무런 효과가 없었습니다. 그리고 나는 그것에 pass
싶지 않아요. 어쩌면 웹 사이트가 속도를 제한하고 있을까요?
편집 : 지금 스크립트는 전혀 작동하지 않으며 첫 번째 요청과 함께 오류가 발생합니다.
www.wikiart.org 페인팅 페이지의 URL이 80,000 개 이상인 json 파일이 있습니다. 각자를 위해 나는 나의 직책을 수행하여 직함을 얻는다. 그래서 :
print repr(get_title('http://www.wikiart.org/en/vincent-van-gogh/van-gogh-s-chair-1889'))
반환
"Van Gogh's Chair"
코드가 작동하는지 확인하려면 다른 웹 사이트에서 코드를 사용하십시오. 그렇다면 사이트가 속도 제한을 설정합니다. – KooKoo
그들이 나를 속도를 제한한다고 가정 해 봅시다. 속도를 늦추어 서 가능한 한 빨리 갈 수있는 방법을 찾는 방법은 무엇입니까? 각 URL에 대해 새로운 URL을 보내는 대신 하나의 http 요청을 더 많이 얻을 수있는 방법이 있습니까? –
액세스하려는 URL을 지정할 수 있습니까? – Manhattan