Learn the art of efficient web scraping and crawling with PythonAbout This BookExtract data from any source to perform real time analytics.Full of techniques and examples to help you crawl websites and extract data within hours.A hands-on guide to web scraping and crawling with real-life problems and solutionsWho This Book Is ForIf you are a software developer, data scientist, NLP or machine-learning enthusiast or just need to migrate your company's wiki from a legacy platform, then this book is for you. It is perfect for someone, who needs instant access to large amounts of semi-structured data effortlessly.What You Will LearnUnderstand HTML pages and write XPath to extract the data you needWrite Scrapy spiders with simple Python and do web crawlsPush your data into any database, search engine or analytics systemConfigure your spider to download files, images and use proxiesCreate efficient pipelines that shape data in precisely the form you wantUse Twisted Asynchronous API to process hundreds of items concurrentlyMake your crawler super-fast by learning how to tune Scrapy's performancePerform large scale distributed crawls with scrapyd and scrapinghubIn DetailThis book covers the long awaited Scrapy v 1.0 that empowers you to extract useful data from virtually any source with very little effort. It starts off by explaining the fundamentals of Scrapy framework, followed by a thorough description of how to extract data from any source, clean it up, shape it as per your requirement using Python and 3rd party APIs. Next you will be familiarised with the process of storing the scrapped data in databases as well as search engines and performing real time analytics on them with Spark Streaming. By the end of this book, you will perfect the art of scarping data for your applications with easeStyle and approachIt is a hands on guide, with first few chapters written as a tutorial, aiming to motivate you and get you started quickly. As the book progresses, more advanced features are explained with real world examples that can be reffered while developing your own web applications.