Výukový program: Go Spider! Web Scraping s Pythonem a Scrapy

(Schwinn Zhang) (19. ledna 2019)

zdroj obrázku: https://myfigurecollection.net/item/736413

Pravděpodobně slyšel o „škrábání webu“. Pokud jste to neudělali, škrábání webu znamená použití počítačového algoritmu k získání cílových informací z webu. Pythonová knihovna Scrapy byla vytvořena přesně pro tento úkol. Krásná polévka je další možností, ale je POMALÁ. Každopádně si chcete osvojit tuto dovednost pro budování softwaru, pro datovou vědu nebo pro Kreml (mrknutí). K tomuto tématu existuje spousta výukových programů. „Kde mám začít?“ „Existuje pro to plán?“ Poté, co jsem strávil tři dny proséváním dobrých, špatných a zastaralých informací, jsem tu, abych vám poskytl tento plán webového škrábání.

Kde začít

Mým plánem bylo následovat python promítá do tohoto seznamu . Pokud jste se rozhodli začít s Twitter Mining , pak DOBRÉ ŠTĚSTÍ (sarkasticky), protože stále čekám na Twitteru, aby mi po 5 dnech 17 udělil přístup k jejich API hodiny a 7 minut. Takže upozornění na nevyřízené položky! Přirozeně jsem přešel na další: Scrape a Web with Python (and MongoDB) . Pro jednoduchost jsem dal MongoDB do závorek. MongoDB bude stát hodně času a pro můj malý program to ani není nutné. Raději bych vytvořil celkovou webovou škrabku pythonu a později přidal funkčnost MongoDB. Řízení času znamená odříznout spouště a dostat se k jádru. Software Dev 101. Každopádně postupujte podle tohoto článku Scrape a Web with Python (and MongoDB) and you will get a basic sense of how web scraping works.

XPath vs CSS? Vybral jsem CSS

Pak jsem se zasekl na něčem, co se nazývá XPath, v podstatě instrukce založená na URL, která označuje cílové informace našemu skautskému pavoukovi. Po rozsáhlém procházení tutoriálu jsem našel tuto úhlednou potravinovou hru který vám pomůže naučit se a procvičovat psaní XPath. Pokud se stále bojíte XPath, existuje další způsob, o kterém se tento výukový článek nezmínil…

Z Scrapys návod ve své dokumentaci jsem našel friend CSS, který má jednoduchou a přímočarější syntaxi. Ve skutečnosti je Scrapy dokumentace NEJLEPŠÍ výukový program. Je to nejaktuálnější, nejdůkladnější a na tomto základě vychází mnoho blogových tutoriálů. V tomto výukovém programu jsem našel nejlepší způsob, jak procvičit cílení webových informací prostřednictvím prostředí Scrapys IPython, v podstatě notebook Jupyter na vašem terminálu. Na příkazovém řádku použijte

scrapy shell [url v uvozovkách]

Poté postupujte podle návodu Scrapy na quotes.toscrape.com. Je to ideální příklad, protože web je jednoduchý a má jen velmi málo vrstev vloženého CSS. Po několika kolech už jsi junior škrábající Ninja. V tomto okamžiku jsem se cítil dostatečně sebejistě, abych sebral všechny titulky z titulní stránky New York Times . Hle, v tomto okamžiku to byl nemožný úkol, protože přední strana má působivé množství vložení. Titulní stránka je jen vybraná kombinace článků z každé sekce, že? Podle této logiky jsem mohl přejít do jednodušší sekce Op-Ed a Art, abych úspěšně seškrábal všechny titulky. Tady je moje repo na git.

Takže, tady je můj první pavouk. Budu muset zabudovat více funkcí a funkcí. Ale zatím to funguje. Můžete vidět, že všechny tituly na stránce NYT Op-Ed byly uloženy v souboru JSON zde. Zde je snímek obrazovky. Zde najdete duplikáty. To je v pořádku. Poté můžeme vytvořit duplicitní detektor. Rovněž plánuji škrábání z více zpravodajských zdrojů a jejich výsledky vložím do stejného souboru.

NYT Výsledky škrabky OpEdTitles. Zdroj: Schwinn Zhang

Shrnutí Spiderova algoritmu

Další kroky

  1. Ladění nebo přidání funkcí do vašeho pavouka
  2. Vyzkoušejte škrábání datové sady. Zde je dobrý návod: Vytvoření vlastní datové sady pomocí aplikace Scrapy .

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *