Какво е urllib?
urllib е модул на Python, който може да се използва за отваряне на URL адреси. Той дефинира функции и класове, които да помагат при действия с URL.
С Python можете също да осъществявате достъп и да извличате данни от интернет като XML, HTML, JSON и др. Можете също да използвате Python за директна работа с тези данни. В този урок ще видим как можем да извлечем данни от мрежата. Например тук използвахме URL адрес на видео на guru99 и ще получим достъп до този URL адрес на видео с помощта на Python, както и ще отпечатаме HTML файл на този URL адрес.
В този урок ще научим
- Как да отворите URL чрез Urllib
- Как да чета HTML файл за вашия URL в Python
Как да отворите URL чрез Urllib
Преди да стартираме кода, за да се свържем с интернет данни, трябва да импортираме изявление за модул за библиотека на URL или "urllib".
- Импортиране на urllib
- Определете основната си функция
- Декларирайте променливата webUrl
- След това извикайте функцията urlopen в библиотеката на URL lib
- URL адресът, който отваряме, е урок за guru99 в youtube
- След това ще отпечатаме кода на резултата
- Кодът на резултата се извлича чрез извикване на функцията getcode на създадената от нас променлива webUrl
- Ще преобразуваме това в низ, така че да може да бъде обединен с нашия низ "резултат код"
- Това ще бъде обикновен HTTP код "200", което означава, че http заявката е обработена успешно
Как да получите URL адрес на HTML файл в Python
Можете също да прочетете HTML файла, като използвате функцията за четене в Python и когато стартирате кода, HTML файлът ще се появи в конзолата.
- Извикайте функцията за четене на променливата webURL
- Променливата за четене позволява да се чете съдържанието на файловете с данни
- Прочетете цялото съдържание на URL адреса в променлива, наречена данни
- Изпълнете кода - Той ще отпечата данните в HTML формат
Ето пълния код
Пример за Python 2
## read the data from the URL and print it#import urllib2def main():# open a connection to a URL using urllib2webUrl = urllib2.urlopen("https://www.youtube.com/user/guru99com")#get the result code and print itprint "result code: " + str(webUrl.getcode())# read the data from the URL and print itdata = webUrl.read()print dataif __name__ == "__main__":main()
Пример за Python 3
## read the data from the URL and print it#import urllib.request# open a connection to a URL using urllibwebUrl = urllib.request.urlopen('https://www.youtube.com/user/guru99com')#get the result code and print itprint ("result code: " + str(webUrl.getcode()))# read the data from the URL and print itdata = webUrl.read()print (data)