Получить содержимое веб-страницы с помощью 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'
>>> 

Решение Python 3

Спасибо, Джейсон.: D.

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

Поскольку вы используете Python 3.1, вам нужно использовать новые API-интерфейсы Python 3.1.

Попробуйте:

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

С другой стороны, похоже, что вы работаете с примерами Python 2. Запишите его в Python 2, затем используйте инструмент 2to3 для его преобразования. В Windows 2to3.py находится в \python31\tools\scripts. Может кто-нибудь еще указать, где найти 2to3.py на других платформах?

Изменить

В настоящее время я пишу код, совместимый с Python 2 и 3, используя шесть.

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

Если у вас установлено шесть программ, они работают как на Python 2, так и на Python 3.

Ответ 2

Лучший способ сделать это в этот день - использовать библиотеку "запросов":

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

Ответ 3

Если вы спросите меня. попробуйте этот

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

и прочитайте нормальный путь, т.е.

page = resp.read()

Удачи, хотя

Ответ 5

Вы можете использовать urlib2 и самостоятельно анализировать HTML.

Или попробуйте Beautiful Soup, чтобы выполнить парсинг для вас.

Ответ 6

Решение с работами с 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 urllib2
    from urllib2 import urlopen

url = 'http://hiscore.runescape.com/index_lite.ws?player=zezima'
response = urlopen(url)
data = str(response.read())

Ответ 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

Также вы можете использовать пакет fast_than_requests. Это очень быстро и просто:

import faster_than_requests as r
content = r.get2str("http://test.com/")

Посмотрите на это сравнение:

enter image description here