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 XPath and CSS selector

In the Understanding web development and technologies section in Chapter 1, Web Scraping Fundamentals, we introduced XML as a document that contains data that is exchangeable and distributable across various technologies related to the web and documents. XML carries user-defined tags, also known as nodes, which hold data in a tree-like structure.

A tree-type structure (also known as an element-tree) is a base model for most markup languages and is often referred to as the Document Object Model (DOM). With the help of the DOM and its defined conventions, we can access, traverse, and manipulate elements.

Elements are structured inside some parent elements, which are inside their own parent and so on; this describes a parent-child relationship that is the most significant feature of markup language. Many applications that support XML or markup...