키릴 기호가있는 URL을로드해야합니다. 나는 그것이 일반 문자로 대체 할 브라우저에서 사용할 것이다 경우키릴 기호가있는 URL로드
하지만 URLLIB 코드는 404 오류와 함께 실패 : 내 스크립트는이 작업을해야한다. 이 URL을 올바르게 디코딩하는 방법은 무엇입니까?
주소에서 'url'과 같은 코드를 직접 사용하면 완벽하게 작동합니다. 하지만이 URL을 가져 오기 위해 구문 분석 페이지를 사용했습니다. 나는 내용이 키릴 문자 인 ur리스트를 가지고있다. 어쩌면 그들은 인코딩이 틀렸을까요? 다음은 더 많은 코드입니다.
requestData = urllib2.Request(%SOME_ADDRESS%, None, {"User-Agent": user_agent})
requestHandler = pageHandler.open(requestData)
pageData = requestHandler.read().decode('utf-8')
soupHandler = BeautifulSoup(pageData)
topicLinks = []
for postBlock in soupHandler.findAll('a', href=re.compile('%SOME_REGEXP%')):
topicLinks.append(postBlock['href'])
postAddress = choice(topicLinks)
postRequestData = urllib2.Request(postAddress, None, {"User-Agent": user_agent})
postHandler = pageHandler.open(postRequestData)
postData = postHandler.read()
File "/usr/lib/python2.6/urllib2.py", line 518, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
URL은 변경없이 작동합니다. – bobince
나를 위해 (urllib 및 urllib2의 urlopen에서). – Krab
@bobince @Krab 업데이트를 참조하십시오. – Ockonal