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
1
Section 1: Introduction to Web Scraping
3
Section 2: Beginning Web Scraping
8
Section 3: Advanced Concepts
13
Section 4: Conclusion

Introduction to pyquery

pyquery is a jQuery-like library for Python that uses the lxml library. This provides an easy and interactive environment for dealing with markup elements in terms of manipulation and traversal purposes.

pyquery expressions are also similar to jquery, and users with jquery knowledge will find it more convenient to use in Python.

The pyquery Python library, as its name suggests, enhances query writing procedures related to elements found in XML and HTML. pyquery shortens element processing and provides a more insightful scripting approach that is fit for scraping and DOM-based traversal and manipulation tasks.

pyquery expressions use CSS selectors to perform queries, alongside additional features that it implements. For example, the following expression is used by pyquery:

page.find('a').attr('href')    -- (pyquery expression)  

The following...