Semalt: Web Scraping со Пајтон

Дали сте поминале во еден од оние застрашувачки моменти кога немате Wi-Fi. Ако е така, тогаш сфативте колку од тоа што го правите на вашиот компјутер се потпира на мрежата. Од чиста навика, ќе се најдете како да ги проверувате вашите е-пошта, да гледате фотографии на Instagram на вашиот пријател, како и да ги читате нивните твитови.

Бидејќи толку многу работа на компјутер вклучува веб процеси, би било многу погодно доколку вашите програми би можеле да се добијат и преку Интернет. Ова е случај за стружење на веб . Вклучува користење на програма за преземање и обработка на содржина од веб. На пример, Гугл користи различни програми за стружење за индексирање на веб-страниците за нивниот пребарувач.

Постојат многу начини на кои можете да ги избришете податоците од Интернет. Многу од овие методи бараат команда на различни јазици за програмирање, како што се Пајтон и Р. На пример, со Пајтон, можете да користите голем број модули како Барања, убава супа, веб-прелистувач и Селен.

Модулот „Барања“ ви овозможува шанса да ги преземате датотеките лесно од мрежата, без да се грижите за тешки проблеми како што се проблеми со врската, мрежни грешки и компресија на податоците. Не мора да доаѓа со Пајтон, и така ќе мора прво да го инсталирате.

Модулот беше развиен затоа што модулот „urllib2“ на Пајтон има многу компликации што го отежнуваат користењето. Всушност е лесно да се инсталира. Сè што треба да сторите е да извршите барање за инсталирање pip од командната линија. Потоа треба да направите едноставен тест за да се осигурате дека модулот е инсталиран правилно. За да го направите ова, можете да напишете „>>> барања за увоз“ во интерактивната обвивка. Ако не се појават пораки за грешка, тогаш инсталацијата беше успешна.

За да преземете страница, треба да ја иницирате функцијата 'requests.get ()'. Функцијата трае низа од URL-то за преземање и потоа враќа објект „одговор“. Ова содржи одговор на веб-серверот вратен за вашето барање. Ако вашето барање успее, тогаш преземената веб-страница се зачувува како низа во текстуалната променлива за објектите за одговор.

Објектот за одговор обично има атрибут за коден статус што можете да го користите за да откриете дали вашето преземање е успешно. Слично на тоа, можете да го повикате методот „подигнување_for_status ()“ на објект за одговор. Ова предизвикува исклучок ако имало какви било грешки при преземањето на датотеката. Тоа е одличен начин да бидете сигурни дека програмата запира во појава на лошо преземање.

Оттука, можете да ја зачувате преземената веб-датотека на вашиот хард диск со употреба на стандардни функции, 'отвори ()' и 'напиши ()'. Како и да е, за да го задржите кодирањето на текстот од Уникод, ќе мора да ги замените текстуалните податоци со бинарни податоци.

За да ги напишете податоците во датотека, можете да користите јамка 'за' со 'iter_content ()' метод. Овој метод ги враќа обемните податоци на секоја итерација преку јамката. Секој дел е во бајти и треба да одредите колку бајти ќе содржи секој дел. Откако ќе завршите со пишување, јавете се на „close ()“ за да ја затворите датотеката, а вашата работа сега заврши.