Semalt шолуы: көңілді және пайда табу үшін веб-скрапинг

Сіз API-ді қажет етпей-ақ сайттарды қырып тастай аласыз. Сайт иелері қырынуды тоқтатуға агрессивті болса да, олар API-ге мән бермейді және олардың орнына веб-сайттарға көп көңіл бөледі. Көптеген сайттар автоматты қол жетімділіктен жеткілікті түрде сақтамайтын фактілер қырғыштарға ақы төлеуге мүмкіндік береді. Кейбір қарапайым айналымдар сізге қажетті мәліметтерді жинауға көмектеседі.

Сырғанаудан бастаңыз

Қиып алу сізге қажет деректердің құрылымын және оған қол жетімділікті түсінуді қажет етеді. Бұл сіздің деректеріңізді алудан басталады. Қажетті ақпаратты қайтаратын URL мекенжайын табыңыз. Веб-сайтты қарап шығыңыз және әртүрлі бөлімдерде жылжу кезінде URL мекенжайларының қалай өзгеретінін тексеріңіз.

Сонымен қатар, сайтта бірнеше терминдер іздеңіз және URL мекенжайларының іздеу терминіне байланысты өзгеретінін тексеріңіз. Сіз жаңа термин іздеген кезде өзгеретін q = сияқты GET параметрін көресіз. Деректерді жүктеу үшін қажетті GET параметрлерін сақтаңыз және басқаларын алыңыз.

Пагинациямен қалай күресуге болады

Беттің айналуы сізге қажетті барлық деректерді бірден алуға мүмкіндік бермейді. 2-бетті басқан кезде, URL мекен-жайына ofset = параметр қосылады. Бұл беттегі элементтер саны немесе парақ нөмірі. Бұл санды деректеріңіздің әр бетінде көбейтіңіз.

AJAX пайдаланатын сайттар үшін Firebug немесе инспектордағы желілік қойындысын тартыңыз. XHR сұраныстарын тексеріп, деректеріңізді анықтаңыз және назар аударыңыз.

Бетті белгілеуден мәліметтер алыңыз

Бұған CSS ілмектерін қолдану арқылы қол жеткізіледі. Деректердің белгілі бір бөлігін тінтуірдің оң жақ түймешігімен нұқыңыз. Өрт сөндіргішті немесе инспекторды тартыңыз және DOM ағашы арқылы үлкейтіңіз, бұл бір элементтің ең жоғарғы <div> алуына мүмкіндік береді. DOM тармағынан дұрыс түйін болғаннан кейін, элементтердің өңделмеген HTML-ге қол жетімді болуы үшін бет көзін қараңыз.

Скрепингті сәтті орындау үшін сізге HTML-де оқып, қажет нәрсені алғанға дейін оны итермелейтін нысанға айналдыратын HTML талдау кітапханасы қажет. Егер HTTP кітапханасында куки немесе үстіңгі деректемелерді қою талап етілсе, веб-шолғышта сайтты қарап шығыңыз және тақырыптарды сіздің шолғышыңыз жіберіңіз. Оларды сөздікке салып, сұранысыңыз бойынша алға жылжытыңыз.

Скраптарға кіру қажет болған кезде

Егер сіз өзіңізге қажетті деректерді алу үшін есептік жазба және логин жасауыңыз керек болса, сізге жүйеге кіру үшін жақсы HTTP кітапханасы қажет. Шифрмен кіру сізді үшінші тарап сайттарына жібереді.

Егер сіздің веб-қызметіңіздің шекті деңгейі IP-мекен-жайға байланысты болса, клиенттік Javascript-ке веб-қызмет көрсететін кодты орнатыңыз. Содан кейін нәтижелерді әр клиенттен серверге қайта жіберіңіз. Нәтижелер көптеген жерлерде пайда болады және олардың ешқайсысы олардың шекті шегінен аспайды.

Нашар қалыптасқан түзету

Кейбір түзетулерді тексеру қиын болуы мүмкін. Мұндай жағдайларда қателіктерге төзімділік параметрлерін табу үшін HTML талдаушыны іздеңіз. Сонымен қатар, бүкіл HTML құжатын ұзын жол ретінде қарастырыңыз және жолдармен бөлу жасаңыз.

Сіз желіде кез-келген деректерді жоя аласыз, бірақ кейбір сайттар қырып тастауды тоқтату үшін бағдарламалық жасақтаманы пайдаланады, ал басқалары веб-парақтарды пайдалануға тыйым салады. Мұндай сайттар сізді сотқа беріп, тіпті олардың деректерін жинағаныңыз үшін түрмеге отырғызуы мүмкін. Сондықтан барлық веб-парақтарда ақылды болыңыз және оны қауіпсіз орындаңыз.