Semalt 5 қадамро барои скрапти веб пешниҳод мекунад

Scrapy як маъхази кушода ва чорчӯба барои гирифтани иттилоот аз вебсайти мухталиф аст. Он API-ро истифода мебарад ва дар Python навишта шудааст. Scrapy дар айни замон аз ҷониби як ширкати скрапинги веб бо номи Scrapinghub Ltd нигоҳдорӣ карда мешавад.

Ин як ёдгирии оддӣ дар бораи чӣ гуна навиштани веб-крепер бо истифодаи Scrapy, таҳлили Craigslist ва нигоҳ доштани маълумот дар формати CSV мебошад. Панҷ қадами асосии ин дарс дар зер оварда шудаанд:

1. Сохтани лоиҳаи нави Scrapy

2. Барои тортанак кардани вебсайте ва гирифтани маълумот, як тортанакро нависед

3. Бо истифода аз сатри фармон, маълумотҳои шикастаро содир кунед

4. Барои пайравӣ кардан тортанакро иваз кунед

5. Далелҳои тортанакро истифода баред

1. Лоиҳа эҷод кунед

Қадами аввал эҷоди лоиҳа аст. Шумо бояд Scrapy-ро зеркашӣ ва насб кунед. Дар лавҳаи ҷустуҷӯии он, шумо бояд номи директорияро дохил кунед, ки дар он маълумотро нигоҳ доред. Scrapy барои ба даст овардани маълумот тортанакҳои гуногунро истифода мебарад ва ин тортанакҳо барои сохтани феҳристҳо дархостҳои аввалия медиҳанд. Барои кор кардани тортанак ба шумо лозим аст, ки ба рӯйхати директорияҳо рафта, дар он ҷо рамзи мушаххас гузоред. Ба файлҳои феҳристи ҷорӣ нигоҳ кунед ва ду файли навро қайд кунед: quotes-a.html ва quotes-b.html.

2. Барои тортанак кардани вебсайт ва гирифтани маълумот аз тортанакҳо нависед:

Роҳи беҳтарини навиштани тортанак ва гирифтани маълумот ин эҷод кардани селекторҳои гуногун дар ҷилди Scrapy мебошад. Шумо ҳамеша бояд URLҳоро дар нохунак илова кунед; дар акси ҳол, Scrapy табиат ё номи он URLҳоро фавран иваз мекунад. Барои навиштани тортанак, шумо бояд нохунакҳои дукарата дар атрофи URL истифода баред. Шумо бояд.extract_first () -ро истифода баред ва аз хатогии шохис роҳ надиҳед.

3. Маълумоти азхудкардаро бо истифодаи сатри фармон содир кунед:

Бо истифода аз сатри фармон содироти маълумотҳои схрабо муҳим аст. Агар шумо онро содир накунед, шумо натиҷаҳои дақиқ ба даст намеоред. Тортанак каталогҳои гуногунеро эҷод мекунад, ки дар онҳо маълумоти муфид мавҷуд аст. Шумо бояд ҳосилнокии Python-ро барои содир кардани ин маълумот бо роҳи беҳтар истифода кунед. Воридоти маълумот ба файлҳои JSON имконпазир аст. Файлҳои JSON барои барномасозон муфиданд. Асбобҳо ба монанди JQ ба содироти маълумоте, ки ягон мушкилот доранд, кӯмак мекунанд.

4. Ба истиноди тортанак тағйир диҳед:

Дар лоиҳаҳои хурд шумо метавонед тортанакҳоро иваз карда метавонед, ки истинодҳоро ба таври мувофиқ риоя кунед. Аммо он бо лоиҳаҳои скреперҳои калонҳаҷми маълумот зарур нест. Ҳангоми иваз кардани анкабут як файли ҷойнишин барои қубурҳои ашё таъсис дода мешавад. Ин файлро метавон дар боби дарсӣ / pipmissions.py ҷойгир кард. Бо Scrapy, шумо метавонед тортанакҳои мураккаб бунёд кунед ва макони онҳоро дар вақти дилхоҳ иваз кунед. Шумо метавонед сайтҳои зиёдеро дар як вақт истихроҷ кунед ва лоиҳаҳои истихроҷи додаҳоро иҷро кунед.

5. Далелҳои тортанакро истифода баред:

Бозгашти parse_author як далели тортанак аст, ки барои истихроҷи додаҳо аз вебсайтҳои динамикӣ истифода бурдан мумкин аст. Шумо инчунин метавонед далелҳои сатри фармонро ба тортанакҳо бо коди муайяне пешниҳод кунед. Далелҳои тортанак ҳеҷ гоҳ ба сифатҳои тортанак табдил намеёбанд ва намуди умумии маълумоти шуморо тағйир медиҳанд.

Дар ин дарс, мо танҳо асосҳои Скрапиро фаро гирифтем. Бисёр хусусиятҳо ва имконоти ин асбоб мавҷуданд. Шумо бояд Scrapy-ро зеркашӣ ва фаъол созед, то дар бораи хусусиятҳои он маълумоти бештар гиред.