Я пытаюсь использовать Python для загрузки исходного HTML-кода веб-сайта, но получаю эту ошибку.
Traceback (most recent call last):
File "C:\Users\Sergio.Tapia\Documents\NetBeansProjects\DICParser\src\WebDownload.py", line 3, in <module>
file = urllib.urlopen("http://www.python.org")
AttributeError: 'module' object has no attribute 'urlopen'
Я следую руководству здесь: http://www.boddie.org.uk/python/HTML.html
import urllib
file = urllib.urlopen("http://www.python.org")
s = file.read()
f.close()
#I'm guessing this would output the html source code?
print(s)
Я использую Python 3.
python
python-3.x
urllib
сладкий
источник
источник
s = url.read()
я спросить, как я могу решить эту проблему? xs=url.read()
; у вас есть 4 пробела перед ним?Решение, совместимое с Python 2 + 3:
import sys if sys.version_info[0] == 3: from urllib.request import urlopen else: # Not Python 3 - today, it is most likely to be Python 2 # But note that this might need an update when Python 4 # might be around one day from urllib import urlopen # Your code where you can use urlopen with urlopen("http://www.python.org") as url: s = url.read() print(s)
источник
with urlopen("http://www.python.org") as url:
не работает в python2 сAttributeError: addinfourl instance has no attribute '__exit__'
. Надо написатьurl = urlopen("http://www.python.org")
import urllib.request as ur s = ur.urlopen("http://www.google.com") sl = s.read() print(sl)
В Python v3 urllib.request - это отдельный модуль, поэтому urllib здесь использовать нельзя.
источник
Чтобы получить dataX = urllib.urlopen (url) .read () , работающий на python 3 (это было бы правильно для python 2 ), вы должны просто изменить 2 мелочи.
1: Сам оператор urllib (добавьте посередине .request):
2: Оператор импорта, предшествующий ему (изменение с 'import urlib' на:
import urllib.request
И он должен работать на python3 :)
источник
import urllib.request as ur filehandler = ur.urlopen ('http://www.google.com') for line in filehandler: print(line.strip())
источник
Для python 3 попробуйте что-то вроде этого:
import urllib.request urllib.request.urlretrieve('http://crcv.ucf.edu/THUMOS14/UCF101/UCF101/v_YoYo_g19_c02.avi', "video_name.avi")
Он загрузит видео в текущий рабочий каталог.
Мне помогли ЗДЕСЬ
источник
Решение для python3:
from urllib.request import urlopen url = 'http://www.python.org' file = urlopen(url) html = file.read() print(html)
источник
Измените ДВЕ строки:
import urllib.request #line1 #Replace urllib.urlopen("http://www.python.org") #To urllib.request.urlopen("http://www.python.org") #line2
siteurl = "http://www.python.org" req = urllib.request.Request(siteurl, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}) pageHTML = urllib.request.urlopen(req).read()
Надеюсь, твоя проблема решена.
источник
Один из возможных способов сделать это:
import urllib ... try: # Python 2 from urllib2 import urlopen except ImportError: # Python 3 from urllib.request import urlopen
источник
Используйте шесть модулей, чтобы сделать код совместимым между python2 и python3
urllib.request.urlopen("<your-url>")```
источник
ваш код, используемый в python2.x, вы можете использовать так:
from urllib.request import urlopen urlopen(url)
кстати, предложите другой модуль,
requests
который более удобен в использовании, вы можетеpip
установить его и использовать следующим образом:import requests requests.get(url) requests.post(url)
Я думал, что им легко пользоваться, я тоже новичок .... ха-ха
источник
import urllib import urllib.request from bs4 import BeautifulSoup with urllib.request.urlopen("http://www.newegg.com/") as url: s = url.read() print(s) soup = BeautifulSoup(s, "html.parser") all_tag_a = soup.find_all("a", limit=10) for links in all_tag_a: #print(links.get('href')) print(links)
источник