urllib kütüphanesiyle okulumun sitesinin kaynağını çekmek istiyorum fakat hata alıyorum bazı youtube gibi sitelerde bir sorun yok fakat okulumun sitesinde böyle bir hata ile karşılaşıyorum
kodum;
import urllib.request
def get_page(url):
try:
url_open = urllib.request.urlopen(url)
page_source = url_open.read()
return(page_source)
except:
return "hata"
print(get_page("https://www.karatay.edu.tr/"))
Kodunuzu buraya göre düzenleyin. Bir de karşılaştığını hatayı da sorunuza ekleyin lütfen.
1 Beğeni
Sıkıntı okulunuzun sitesinin tasarımında, urllib ile açınca status_code olarak 500 döndürüyor. Ayrıca except
bloğunu kullanma şekliniz yanlış, hatanın ne olduğunu öğrenemiyorsunuz.
Bu kod hata dahi verilse sitenin yolladığı Html’yi okuyor:
import urllib.request
from urllib.error import HTTPError
def get_page(url):
try:
url_open = urllib.request.urlopen(url)
page_source = url_open.read()
return(page_source)
except HTTPError as e:
return e.read()
print(get_page("https://www.karatay.edu.tr/"))
Bu hatayı alıyorum
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
Ben attığım kod ile hata almamıştım da, bu kodu bir deneyebilir misiniz:
import urllib.request
from urllib.error import HTTPError
import ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
def get_page(url):
try:
url_open = urllib.request.urlopen(url, context=ctx)
page_source = url_open.read()
return(page_source)
except HTTPError as e:
return e.read()
print(get_page("https://www.karatay.edu.tr"))
1 Beğeni
İşe yaradı. Çok teşekkür ederim
1 Beğeni