Получить содержимое веб-страницы с помощью 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()
Удачи, хотя
Ответ 4
Mechanize - отличный пакет для "действия как браузер", если вы хотите обрабатывать состояние файлов cookie и т.д.
http://wwwsearch.sourceforge.net/mechanize/
Ответ 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]()