Successfully reported this slideshow.
Your SlideShare is downloading. ×

Jiří Koutný - Collabim: jak scrapujeme 700 000 stránek vyhledávačů denně

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Communication
Communication
Loading in …3
×

Check these out next

1 of 14 Ad

Jiří Koutný - Collabim: jak scrapujeme 700 000 stránek vyhledávačů denně

Download to read offline

Jak jsme začali získávat data a osvědčené tipy a triky pro hledání lepších cest.

Jak jsme začali získávat data a osvědčené tipy a triky pro hledání lepších cest.

Advertisement
Advertisement

More Related Content

More from Péhápkaři (20)

Advertisement

Jiří Koutný - Collabim: jak scrapujeme 700 000 stránek vyhledávačů denně

  1. 1. Collabim: jak scrapujeme 700 000 stránek vyhledávačů denně Jiří Koutný
  2. 2. Collabim a Serpo 700+ klientů 6+ let 6 členů týmu měření pozic ve vyhledávačích a sledování konkurence
  3. 3. Collabim
  4. 4. Serpo.cz
  5. 5. ● Denně 300 000 sledovaných frází ● Denně 700 000 stránek vyhledávání (~70 GB) ● 8 000 proxies ● 170 GB MySQL ● 40 GB ElasticSearch Data
  6. 6. Desatero scrapování Google 1. Public/shared proxies jsou k ničemu 2. Lepší více proxies než Selenium/PhantomJS 3. Ideálně 1 dotaz za 5 - 10 minut 4. XPath v kombinaci s regulárními výrazy je mocná zbraň 5. Vždycky si ukládejte původní HTML source 6. 100% úspěšnost je zbytečná 7. Spoléhejte se jen na sebe 8. PHPčko je “good enough” a “fast enough” 9. MultiCURL/guzzlephp 10. Doctrine2 je fajn na frontend, ale ne do workerů
  7. 7. CollabimApp MailQueueBilling CollabimTracker Serpo Microservices!
  8. 8. Serpo: Jak ukládat historická data? 20 GB každých 14 dnů jednou je uložíme a už se němění nechceme je zálohovat pořád dokola
  9. 9. CollabimTracker Serpo
  10. 10. Hlavní bolest - ElasticSearch - Red is dead! ● Verzi < 2.0 nedoporučuji, půlka věcí je jinak ● Type nejde ani promazat ani celý smazat (jen index) ● Žádné BATCH DELETE by condition ● JSON query DSL ☠ ! ● Indexujete moc rychle? Spadne ● Kill query neexistuje ● Spadlý node se oživuje hodinu až dvě ● Žádný EXPLAIN ani profiling ● UPDATE zahodí celý původní dokument a vytvoří nový -> pomalé ● Agregace jsou hodně omezené
  11. 11. Čím nahradit ElasticSearch? ● Málo zápisů, hodně čtení ● Hodně agregací, průniky množin, vztahy mezi weby ● Non-blocking/batch query knihovna pro PHP ● MongoDB? ● PostgreSQL? ● …?
  12. 12. Díky! Jiří Koutný koutny@serpo.cz

×