복붙노트

[PYTHON] 파이썬으로 웹 페이지 컨텐츠를 얻으시겠습니까?

PYTHON

파이썬으로 웹 페이지 컨텐츠를 얻으시겠습니까?

그게 도움이된다면 파이썬 3.1을 사용하고 있습니다.

어쨌든이 웹 페이지의 내용을 얻으려고합니다. 나는 조금 봤는데 다른 일을 시도했지만 그들은 작동하지 않았다. 나는 이것이 쉬운 일이되어야한다고 생각하지만 ... 나는 그것을 얻을 수 없다. : /.

urllib, urllib2의 결과 :

>>> import urllib2
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import urllib2
ImportError: No module named urllib2
>>> import urllib
>>> urllib.urlopen("http://www.python.org")
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    urllib.urlopen("http://www.python.org")
AttributeError: 'module' object has no attribute 'urlopen'
>>> 

고마워, 제이슨. :디.

import urllib.request
page = urllib.request.urlopen('http://services.runescape.com/m=hiscore/ranking?table=0&category_type=0&time_filter=0&date=1519066080774&user=zezima')
print(page.read())

해결법

  1. ==============================

    1.Python 3.1을 사용하고 있으므로 새로운 Python 3.1 API를 사용해야합니다.

    Python 3.1을 사용하고 있으므로 새로운 Python 3.1 API를 사용해야합니다.

    시험:

    urllib.request.urlopen('http://www.python.org/')
    

    파이썬 2 예제에서 작업하는 것처럼 보입니다. Python 2로 작성한 다음 2to3 도구를 사용하여 변환하십시오. Windows에서 2to3.py는 \ python31 \ tools \ scripts에 있습니다. 다른 사람이 다른 플랫폼에서 2to3.py를 찾을 위치를 지적 할 수 있습니까?

    편집하다

    요즘 필자는 6 개를 사용하여 Python 2 및 3 호환 코드를 작성합니다.

    from six.moves import urllib
    urllib.request.urlopen('http://www.python.org')
    

    파이썬 2와 파이썬 3 모두에서 실행되는 6 개가 있다고 가정합니다.

  2. ==============================

    2.요즘 가장 좋은 방법은 '요청'라이브러리를 사용하는 것입니다.

    요즘 가장 좋은 방법은 '요청'라이브러리를 사용하는 것입니다.

    import requests
    response = requests.get('http://hiscore.runescape.com/index_lite.ws?player=zezima')
    print (response.status_code)
    print (response.content)
    
  3. ==============================

    3.네가 나 한테 묻는다면. 이거 한번 해봐

    네가 나 한테 묻는다면. 이거 한번 해봐

    import urllib2
    resp = urllib2.urlopen('http://hiscore.runescape.com/index_lite.ws?player=zezima')
    

    정상적인 방법 즉

    page = resp.read()
    

    행운을 빌어 요.

  4. ==============================

    4.Mechanize는 쿠키 상태 등을 처리하려는 경우 "브라우저처럼 작동"하기위한 훌륭한 패키지입니다.

    Mechanize는 쿠키 상태 등을 처리하려는 경우 "브라우저처럼 작동"하기위한 훌륭한 패키지입니다.

    http://wwwsearch.sourceforge.net/mechanize/

  5. ==============================

    5.urlib2를 사용하여 HTML을 직접 파싱 할 수 있습니다.

    urlib2를 사용하여 HTML을 직접 파싱 할 수 있습니다.

    또는 Beautiful Soup을 사용하여 구문 분석을 수행하십시오.

  6. ==============================

    6.Python 2.X 및 Python 3.X와 작동하는 솔루션 :

    Python 2.X 및 Python 3.X와 작동하는 솔루션 :

    try:
        # For Python 3.0 and later
        from urllib.request import urlopen
    except ImportError:
        # Fall back to Python 2's urllib2
        from urllib2 import urlopen
    
    url = 'http://hiscore.runescape.com/index_lite.ws?player=zezima'
    response = urlopen(url)
    data = str(response.read())
    
  7. ==============================

    7.웹 페이지의 콘텐츠를 가져오고 싶다고 가정 해 보겠습니다. 다음 코드에서는이를 수행합니다.

    웹 페이지의 콘텐츠를 가져오고 싶다고 가정 해 보겠습니다. 다음 코드에서는이를 수행합니다.

    # -*- coding: utf-8 -*-
    # python
    
    # example of getting a web page
    
    from urllib import urlopen
    print urlopen("http://xahlee.info/python/python_index.html").read()
    
  8. from https://stackoverflow.com/questions/1843422/get-webpage-contents-with-python by cc-by-sa and MIT license