2014-07-17 9 views
3

나를 돕기 위해 Python Warrior가 필요합니다 (저는 멍청 해요!)! 모듈 urllib을 사용하여 인트라넷 사이트에서 특정 데이터를 긁어 내려고합니다. 그러나 직원이 볼 수만 있고 대중에게 공개되지 않는 회사 웹 사이트이므로이 코드를 얻는 이유는 다음과 같습니다.python을 사용하여 인트라넷 사이트에서 URL 데이터를 가져 오는 방법은 무엇입니까?

IOError : ('http error', 401, 'Unauthorized',)

어떻게해야합니까? 심지어 공개 사이트 얻을 수있는 사이트 사용 htmlfile.read()

샘플 코드를 읽지 않습니다 :

import urllib 
import re 

htmlfile = urllib.urlopen("http://finance.yahoo.com/q?s=AAPL") 

htmltext = htmlfile.read() 

regex = '<span id="yfs_l84_aapl">(.+?)</span>' 

pattern = re.compile(regex) 

price = re.findall(pattern,htmltext) 

print price 
+0

정규식으로 html을 구문 분석하지 마십시오 – heinst

+0

@heinst 예. 아름다운 스프는 HTML을 구문 분석하는 훨씬 쉬운 방법입니다. https://pypi.python.org/pypi/beautifulsoup4/ –

+0

글쎄, 나는 아름다운 스프를 발견했다. 그러나 나는 다운로드 할 수없는 많은 것들을 회사가 제한하기 때문에 설치를 피했다. (그러나 나는 피드백을 보내 주셔서 감사합니다 –

답변

3

시도를 requestsrequests_ntlm와 :

import requests 
from requests_ntlm import HttpNtlmAuth 

r = requests.get("http://ntlm_protected_site.com",auth=HttpNtlmAuth('domain\\username','password')) 

    print r.text 

당신이 어떤 도움이 필요한 경우 이 라이브러리의 세부 사항이며 문서에서 찾을 수없는 경우 댓글을 남겨 두십시오.

+0

pip를 설치하면 "pip install requests_ntlm"을 따옴표없이 실행하면 requests_ntlm이 설치됩니다 .https : //pip.pypa.io/en/latest /installing.html –

+1

당신은 GIUSIUS입니다 !!! 정말로 끝났습니다! 도와 주셔서 대단히 감사합니다! 정말로 이것에 대한 지식을 주셔서 감사합니다! –

+0

소스 코드에서 암호를 분명히하지 않으려면 어떻게해야합니까? 동료들간에 공유됩니까? – sparkle