Как я могу прочитать содержимое URL-адреса с помощью Python?

Следующее работает, когда я вставляю его в браузер:

http://www.somesite.com/details.pl?urn=2344 

Но когда я пытаюсь прочитать URL-адрес с Python, ничего не происходит:

  link = 'http://www.somesite.com/details.pl?urn=2344' f = urllib.urlopen(link) myfile = f.readline() print myfile 

Нужно ли кодировать URL-адрес, или есть что-то, чего я не вижу?

5 Solutions collect form web for “Как я могу прочитать содержимое URL-адреса с помощью Python?”

Чтобы ответить на ваш вопрос:

 import urllib link = "http://www.somesite.com/details.pl?urn=2344" f = urllib.urlopen(link) myfile = f.read() print myfile 

Вам нужно read() , а не readline()

Или просто получить эту библиотеку здесь: http://docs.python-requests.org/en/latest/ и серьезно использовать ее 🙂

 import requests link = "http://www.somesite.com/details.pl?urn=2344" f = requests.get(link) print f.text 

Решение с работами с Python 2.X и Python 3.X использует библиотеку совместимости Python 2 и 3 six :

 from six.moves.urllib.request import urlopen link = "http://www.somesite.com/details.pl?urn=2344" response = urlopen(link) content = response.read() print(content) 

Для пользователей python3 , чтобы сэкономить время, используйте следующий код,

 from urllib.request import urlopen link = "https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html" f = urlopen(link) myfile = f.read() print (myfile) 

Я знаю, что есть разные потоки для ошибки: Name Error: urlopen is not defined , но думал, что это может сэкономить время.

URL-адрес должен быть строкой:

 import urllib link = "http://www.somesite.com/details.pl?urn=2344" f = urllib.urlopen(link) myfile = f.readline() print myfile 

Я использовал следующий код:

 import urllib def read_text(): quotes = urllib.urlopen("https://s3.amazonaws.com/udacity-hosted-downloads/ud036/movie_quotes.txt") contents_file = quotes.read() print contents_file read_text() 
  • Проверьте, не открыт ли файл (не используется другим процессом) в Python
  • Как вывести вывод (print, .format и т. Д.)
  • Использование переменных в обработчике сигналов - требуется глобальное?
  • Какие методы и инструменты вы используете для разработки и анализа рабочего процесса в веб-приложении (для крошечной команды)
  • Подпроцесс Python Ctrl + C
  • Не удалось восстановить stdout в оригинале (только для терминала)
  • Использование функций get или insert для одного или нескольких моделей django и моделей
  • Поиск возможностей редактирования / обработки видео на Python, которые будут работать с Google App Engine
  • Python - лучший язык программирования в мире.