Book Image

Go Web Scraping Quick Start Guide

By : Vincent Smith
Book Image

Go Web Scraping Quick Start Guide

By: Vincent Smith

Overview of this book

Web scraping is the process of extracting information from the web using various tools that perform scraping and crawling. Go is emerging as the language of choice for scraping using a variety of libraries. This book will quickly explain to you, how to scrape data data from various websites using Go libraries such as Colly and Goquery. The book starts with an introduction to the use cases of building a web scraper and the main features of the Go programming language, along with setting up a Go environment. It then moves on to HTTP requests and responses and talks about how Go handles them. You will also learn about a number of basic web scraping etiquettes. You will be taught how to navigate through a website, using a breadth-first and then a depth-first search, as well as find and follow links. You will get to know about the ways to track history in order to avoid loops and to protect your web scraper using proxies. Finally the book will cover the Go concurrency model, and how to run scrapers in parallel, along with large-scale distributed web scraping.
Table of Contents (10 chapters)

What do HTTP responses look like?

When the server responds to your request, it will provide a status code, some response headers, and the content of the resource in most cases. Staying with our previous request for http://www.example.com/index.html, you will be able to see what a typical response looks like, section by section.

Status line

The first line of an HTTP response is called the status line and typically looks like this:

HTTP/1.1 200 OK

First, it tells you what Version of the HTTP protocol the server is using. This should always match the version sent by the client HTTP request. In this case, our server is using version 1.1. The next portion is the HTTP status code. This is code used to indicate the status of the...