Book Image

Hands-On Web Scraping with Python

By : Anish Chapagain
Book Image

Hands-On Web Scraping with Python

By: Anish Chapagain

Overview of this book

Web scraping is an essential technique used in many organizations to gather valuable data from web pages. This book will enable you to delve into web scraping techniques and methodologies. The book will introduce you to the fundamental concepts of web scraping techniques and how they can be applied to multiple sets of web pages. You'll use powerful libraries from the Python ecosystem such as Scrapy, lxml, pyquery, and bs4 to carry out web scraping operations. You will then get up to speed with simple to intermediate scraping operations such as identifying information from web pages and using patterns or attributes to retrieve information. This book adopts a practical approach to web scraping concepts and tools, guiding you through a series of use cases and showing you how to use the best tools and techniques to efficiently scrape web pages. You'll even cover the use of other popular web scraping tools, such as Selenium, Regex, and web-based APIs. By the end of this book, you will have learned how to efficiently scrape the web using different techniques with Python and other popular tools.
Table of Contents (16 chapters)
Free Chapter
Section 1: Introduction to Web Scraping
Section 2: Beginning Web Scraping
Section 3: Advanced Concepts
Section 4: Conclusion

Scraping using lxml, a Python library

lxml is a XML toolkit, with a rich library set to process XML and HTML. lxml is preferred over other XML-based libraries in Python for its high speed and effective memory management. It also contains various other features to handle both small or large XML files. Python programmers use lxml to process XML and HTML documents. For more detailed information on lxml and its library support, please visit

lxml provides native support to XPath and XSLT and is built on powerful C libraries: libxml2 and libxslt. Its library set is used normally with XML or HTML to access XPath, parsing, validating, serializing, transforming, and extending features from ElementTree ( Parsing, traversing ElementTree, XPath, and CSS selector-like features from lxml makes it handy enough for a task...