Semalt: Дастури скрапинги HTML - Маслиҳатҳои боло

Мазмуни веб бештар дар формати сохторӣ ё HTML аст. Ҳар як саҳифа вобаста ба навъи мундариҷаи он дар шакли беҳамтои худ созмон дода мешавад. Агар касе мехоҳад, ки веб-сайтро дастрас кунад, ин хоҳиши ҳар як шахс ба даст овардани маълумотро ба таври муназзам ва хуб ба роҳ мондааст. Ин ба сарфаи вақти зарурӣ барои баррасӣ, таҳлил ва ташкили ҳуҷҷат пеш аз мубодила кӯмак мекунад. Аммо, ба даст овардани формати сохташуда кори осон нест, зеро аксари вебсайтҳо ин интихобро барои пешгирии одамон аз гирифтани миқдори зиёди маълумот пешкаш намекунанд. Баъзе сайтҳо бо вуҷуди ин, API-ро пешниҳод мекунанд, ки ба мардум имконоти истихроҷи иттилоотро дар раванди зуд ва осон фароҳам меоранд.

Дар чунин ҳолатҳо, шумо дигар илоҷе надоред, ки истифодаи кӯмаки як нармафзори нармафзор бо номи скрепингро истифода баред. Ин равишест, ки барномаи компютериро истифода мебарад, ки ба корбарон дар ҷамъоварии иттилоот дар формати муфид кӯмак мекунад ва сохтори додаҳоро ҳифз мекунад.

Lxml ва дархост

Ин як китобхонаи васеъи скрепер мебошад, ки дар таҳлил ва баҳодиҳии тези XML ва HTML кӯмак мекунад ва дар сарфаи вақт кӯмак мекунад. Ин инчунин дар муносибат бо барчасбҳои дар ҷараёни таҳлил муфид муфид аст. Дар ин тартиб, шумо дархостҳои Lxml-ро истифода мебаред, на urllib2-и сохташуда, зеро он зудтар, устувор ва дастрас аст. Онро бо истифодаи насби pip Lxml ва дархостҳои насб кардани pip насб кардан осон аст.

Барои scraping HTML ин амалҳоро иҷро намоед

Аз воридот оғоз кунед - дар ин ҷо шумо HTML-ро аз Lxml ворид мекунед ва баъд дархост ворид кунед. Дархостро истифода баред ва пас веб саҳифаро, ки дорои маълумоте мебошад, ки мехоҳед истихроҷ кунед, тавассути модули HTML таҳлил кунед ва пас аз таҳлили дарахт сабт намоед.

Ба шумо лозим аст, ки на мундариҷаи саҳифаро истифода баред, на ба матн, зеро HTML интизори гирифтани байтро хоҳад интизор аст. Дарахт, ки дар он шумо маълумоти таҳлилшударо ҳифз кардед, ҳоло ҳуҷҷати HTML дар таркиби дарахт аст. Шумо метавонед аз болои сохтори дарахтон бо равишҳои гуногун, XPath ва CSSelect гузаред.

XPath ба шумо дар ҷустуҷӯи маълумот ё гирифтани он дар формати сохторшуда ба монанди HTML ё XML кӯмак мекунад. Роҳҳои гуногуне ҳастанд, ки тавассути он элементҳои XPath мавҷуданд. Инҳо дар бар мегиранд Firebug барои Firefox ё Chrome Inspector. Ҳангоми истифодаи Chrome, тафтиш кардани маълумот осон аст, зеро ба шумо лозим аст, ки унсури санҷишро "рост" клик кунед, "Элементро тафтиш кунед" -ро интихоб кунед, рамзи пешниҳодшударо нишон диҳед ва пас клики ростро интихоб кунед ва нусхабардории XPath-ро интихоб кунед. Ин раванд ба шумо кӯмак мекунад, то бидонед, ки кадом элементҳо дар сафҳаи шумо мавҷуданд ва аз он ҷо, дархости XPath-ро дуруст сохтан ва Lxml XPath-ро дуруст татбиқ кардан осон аст.

Гузаронидани ин қадамҳо кафолат медиҳад, ки шумо тамоми маълумоте, ки шумо мехостед аз веби махсус бо истифодаи Lxml ва Requests истихроҷ кардаед, нусхабардорӣ кардаед. Шумо иттилоотро дар ду хотираи рӯйхат нигоҳ медоред ва ҳоло он барои ҷудо кардан омода аст. Шумо метавонед онро бо забони барномасозӣ ба мисли Python таҳлил кунед ё онро захира кунед ва мубодила кунед. Инчунин, шумо метавонед пеш аз мубодила кардани баъзе қисмҳои иттилоотро аз нав сабт кунед ё таҳрир кунед.

mass gmail