From af555cab23958501f07f8b2771c082ac3f3a5961 Mon Sep 17 00:00:00 2001 From: Raphael Wuillemier Date: Wed, 22 Aug 2018 14:15:53 +0200 Subject: [PATCH] Added general guide for developer tools instead of Firefox and Firebug-sections --- docs/index.rst | 10 +- docs/intro/tutorial.rst | 3 +- docs/topics/_images/inspector_01.png | Bin 0 -> 53922 bytes docs/topics/_images/network_01.png | Bin 0 -> 10720 bytes docs/topics/_images/network_02.png | Bin 0 -> 82702 bytes docs/topics/_images/network_03.png | Bin 0 -> 45506 bytes docs/topics/developer-tools.rst | 248 +++++++++++++++++++++++++++ docs/topics/firebug.rst | 167 ------------------ docs/topics/firefox.rst | 82 --------- 9 files changed, 252 insertions(+), 258 deletions(-) create mode 100644 docs/topics/_images/inspector_01.png create mode 100644 docs/topics/_images/network_01.png create mode 100644 docs/topics/_images/network_02.png create mode 100644 docs/topics/_images/network_03.png create mode 100644 docs/topics/developer-tools.rst delete mode 100644 docs/topics/firebug.rst delete mode 100644 docs/topics/firefox.rst diff --git a/docs/index.rst b/docs/index.rst index 7e8c979c4..0a96aa88e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -151,8 +151,7 @@ Solving specific problems topics/contracts topics/practices topics/broad-crawls - topics/firefox - topics/firebug + topics/developer-tools topics/leaks topics/media-pipeline topics/deploy @@ -175,11 +174,8 @@ Solving specific problems :doc:`topics/broad-crawls` Tune Scrapy for crawling a lot domains in parallel. -:doc:`topics/firefox` - Learn how to scrape with Firefox and some useful add-ons. - -:doc:`topics/firebug` - Learn how to scrape efficiently using Firebug. +:doc:`topics/developer-tools` + Learn how to scrape with your browser's developer tools. :doc:`topics/leaks` Learn how to find and get rid of memory leaks in your crawler. diff --git a/docs/intro/tutorial.rst b/docs/intro/tutorial.rst index 0db6a6218..fa6dc274d 100644 --- a/docs/intro/tutorial.rst +++ b/docs/intro/tutorial.rst @@ -298,8 +298,7 @@ expressions`:: In order to find the proper CSS selectors to use, you might find useful opening the response page from the shell in your web browser using ``view(response)``. -You can use your browser developer tools or extensions like Firebug (see -sections about :ref:`topics-firebug` and :ref:`topics-firefox`). +You can use your browser developer tools (see section about :ref:`topics-developer-tools`). `Selector Gadget`_ is also a nice tool to quickly find CSS selector for visually selected elements, which works in many browsers. diff --git a/docs/topics/_images/inspector_01.png b/docs/topics/_images/inspector_01.png new file mode 100644 index 0000000000000000000000000000000000000000..edb8795dcb8890bac8311db1445435f969761aa0 GIT binary patch literal 53922 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 literal 0 HcmV?d00001 diff --git a/docs/topics/_images/network_01.png b/docs/topics/_images/network_01.png new file mode 100644 index 0000000000000000000000000000000000000000..1788ea76a884912208ea2d41cade5866e0b4ab9d GIT binary patch literal 10720 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 R-{W(ysjl<5?9sDV{|1*77K;D? literal 0 HcmV?d00001 diff --git a/docs/topics/_images/network_02.png b/docs/topics/_images/network_02.png new file mode 100644 index 0000000000000000000000000000000000000000..5d39ae601ae7c29c8f69fa4709859e0a2006e54f GIT binary patch literal 82702 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 Tyui452mZ)PDoT`#8T$P{6=#Uk literal 0 HcmV?d00001 diff --git a/docs/topics/developer-tools.rst b/docs/topics/developer-tools.rst new file mode 100644 index 000000000..dd1dd3a62 --- /dev/null +++ b/docs/topics/developer-tools.rst @@ -0,0 +1,248 @@ +.. _topics-developer-tools: + +========================== +Using your browser's Developer Tools for scraping +========================== + +Here is a general guide on how to use your browser's Developer Tools +to ease the scraping process. Today almost all browsers come with +built in `Developer Tools`_ and although we will use Firefox in this +guide, the concepts are applicable to any other browser. + +In this guide we'll introduce the basic tools to use from a browser's +Developer Tools by scraping `quotes.toscrape.com`_. + +.. _topics-livedom: + +Caveats with inspecting the live browser DOM +============================================ + +Since Developer Tools operate on a live browser DOM, what you'll actually see +when inspecting the page source is not the original HTML, but a modified one +after applying some browser clean up and executing Javascript code. Firefox, +in particular, is known for adding ```` elements to tables. Scrapy, on +the other hand, does not modify the original page HTML, so you won't be able to +extract any data if you use ```` in your XPath expressions. + +Therefore, you should keep in mind the following things: + +* Disable Javascript while inspecting the DOM looking for XPaths to be + used in Scrapy + +* Never use full XPath paths, use relative and clever ones based on attributes + (such as ``id``, ``class``, ``width``, etc) or any identifying features like + ``contains(@href, 'image')``. + +* Never include ```` elements in your XPath expressions unless you + really know what you're doing + +.. _topics-inspector: + +Inspecting a website +=================================== + +By far the most handy feature of the Developer Tools is the `Inspector` +feature, which allows you to inspect the underlying HTML code of +any webpage. To demonstrate the Inspector, let's take a +look at the `quotes.toscrape.com`_-site. + +On the site we have a total of ten quotes from various authors with specific +tags, as well as the Top Ten Tags. Let's say we want to extract all the quotes +on this page, without any meta-information about authors, tags, etc. + +Instead of viewing the whole source code for the page, we can simply right click +on a quote and select ``Inspect Element (Q)``, which opens up the `Inspector`. +In it you should see something like this: + +.. image:: _images/inspector_01.png + :width: 777 + :height: 469 + :alt: Firefox's Inspector-tool + +The interesting part for us is this: + +.. code-block:: html + +
+ (...) + (...) +
(...)
+
+ +If you hover over the first ``div`` directly above the ``span``-tag highlighted +in the screenshot, you'll see that the corresponding section of the webpage gets +highlighted as well. So now we have a section, but we can't find our quote text +anywhere. + +The advantage of the `Inspector` is that it automatically expands and collapses +sections and tags of a webpage, which greatly improves readability. You can +expand and collapse a tag by clicking on the arrow in front of it or by double +clicking directly on the tag. If we expand the ``span``-tag with the ``class= +"text"`` we will see the quote-text we clicked on. The `Inspector` lets you +copy XPaths to selected elements. Let's try it out: Right-click on the ``span``- +tag, select ``Copy > XPath`` and paste it in the scrapy shell like so:: + + >>> scrapy shell "http://quotes.toscrape.com/" + (...) + >>> response.xpath('/html/body/div/div[2]/div[1]/div[1]/span[1]/text()').extract() + ['"The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.”] + +Adding ``text()`` at the end we are able to extract the first quote with this +basic selector. But this XPath is not really that clever. All it does is +go down a desired path in the source code starting from ``html``. So let's +see if we can refine our XPath a bit: + +If we check the `Inspector` again we'll see that directly beneath our +expanded ``div``-tag we have eight identical ``div``-tags, each with the +same attributes as our first. If we expand any of them, we'll see the same +structure as with our first quote: Two ``span``-tags and one ``div``-tag. We can +expand each ``span``-tag with the ``class="text"`` inside our ``div``-tags and +see each quote. With this knowledge we can refine our XPath: Instead of a path +to follow, we'll simply select all ``span``-tags with the ``class="text"``:: + + >>> response.xpath('//span[@class="text"]/text()').extract() + ['"The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.”, + '“It is our choices, Harry, that show what we truly are, far more than our abilities.”', + '“There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.”', + (...)] + +And with one simple, cleverer XPath we are able to extract all quotes from +the page. We could have constructed a loop over our first XPath to increase +the number of the last ``div``, but this would have been unnecessarily +complex and by simply constructing an XPath with the ``class="text"`` we +were able to extract all quotes in one line. + +The `Inspector` has a lot of other helpful features, such as searching in the +source code or directly scrolling to an element you selected. Let's demonstrate +a use case: + +Say you want to find the ``Next``-button on the page. Type ``Next`` into the +search bar on the top right of the `Inspector`. You should get two results. +The first is a ``li``-tag with the ``class="text"``, the second the text +of an ``a``-tag. Right click on the ``a``-tag and select ``Scroll into View``. +If you hover over the tag, you'll see the button highlighted. From here +we could easily create a :ref:`Link Extract ` to +follow the pagination. On a simple site such as this, there may not be +the need to find an element visually but the ``Scroll into View`` function +can be quite useful on complex sites. + +.. _topics-network-tool: + +The Network-tool +================ +While scraping you may come across dynamic webpages where some parts +of the page is loaded dynamically through multiple requests. While +this can be quite tricky, the `Network`-tool in the Developer Tools +greatly facilitates this task. To demonstrate the Network-tool, let's +take a look at the page `quotes.toscrape.com/scroll`_. + +The page is quite similar to the basic `quotes.toscrape.com`_-page, +but instead of the above-mentioned ``Next``-button, the page +automatically loads new quotes when you scroll to the bottom. We +could go ahead and try out different XPaths directly, but instead +we'll check another quite useful command from the scrapy shell:: + + >>> scrapy shell "quotes.toscrape.com/scroll" + (...) + >>> view(response) + +A browser window should open with the webpage but with one +crucial difference: Instead of the quotes we just see a greenish +bar with the word ``Loading...``. + +.. image:: _images/network_01.png + :width: 777 + :height: 296 + :alt: Response from quotes.toscrape.com/scroll + +The ``view(response)``-command let's us view the response our +shell or later our spider receives from the server. Here we see +that some basic template is loaded which includes the title, +the login-button and the footer, but the quotes are missing. This +tells us that the quotes are being loaded from a different request +than ``quotes.toscrape/scroll``. + +If you click on the ``Network``-tab, you will probably only see +two entries. The first thing we do is enable persistent logs by +clicking on ``Persist Logs``. If this option is disabled, the +log is automatically cleared each time you navigate to a different +page. Enabling this option is a good default, since it gives us +control on when to clear the logs. + +If we reload the page now, you'll see the log get populated with six +new requests. + +.. image:: _images/network_02.png + :width: 777 + :height: 241 + :alt: Network tab with persistent logs and requests + +Here we see every request that has been made when reloading the page +and can inspect each request and its response. So let's find out +where our quotes are coming from: + +First click on the request with the name ``scroll``. On the right +you can now inspect the request. In ``Headers`` you'll find details +about the request headers, such as the URL, the method, the IP-address, +and so on. We'll ignore the other tabs and click directly on ``Reponse``. + +What you should see in the ``Preview``-pane is the rendered HTML-code, +that is exactly what we saw when we called ``view(response`` in the +shell. Accordingly the ``type`` of the request in the log is ``html``. +The other requests have types like ``css`` or ``js``, but what +interests us is the one request called ``quotes?page=1`` with the +type ``json``. + +If we click on this request, we see that the request URL is +``http://quotes.toscrape.com/api/quotes?page=1`` and the response +is a JSON-object that contains our quotes. We can also right-click +on the request and open ``Open in new tab`` to get a better overview. + +.. image:: _images/network_03.png + :width: 777 + :height: 375 + :alt: JSON-object returned from the quotes.toscrape API + +With this response we can now easily parse the JSON-object and +also request each page to get every quote on the site:: + + import scrapy + import json + + + class QuoteSpider(scrapy.Spider): + name = 'quote' + allowed_domains = ['quotes.toscrape.com'] + page = 1 + start_urls = ['http://quotes.toscrape.com/api/quotes?page=1] + + def parse(self, response): + data = json.loads(response.text) + for quote in data["quotes"]: + quote = quote["text"] + print(quote) + if data["has_next"]: + self.page += 1 + url = "http://quotes.toscrape.com/api/quotes?page={}".format(self.page) + yield scrapy.Request(url=url, callback=self.parse) + +This spider starts at the first page of the quotes-API. With each +response, we parse the ``response.text`` and assign it to ``data``. +This lets us operate on the JSON-object like on a Python dictionary. +We iterate through the ``quotes`` and print out the ``quote["text"]``. +If the handy ``has_next``-element is ``true`` (try loading +`http://quotes.toscrape.com/api/quotes?page=10`_ in your browser or a +page-number greater than 10), we increment the ``page``-attribute +and ``yield`` a new request, inserting the incremented page-number +into our ``url``. + +You can see that with a few inspections in the `Network`-tool we +were able to easily replicate the dynamic requests of the scrolling +functionality of the page. Crawling dynamic pages can be quite +daunting and pages can be very complex, but it (mostly) boils down +to identifying the correct request and replicating it in your spider. + +.. _Developer Tools: https://en.wikipedia.org/wiki/Web_development_tools +.. _quotes.toscrape.com: http://quotes.toscrape.com +.. _quotes.toscrape.com/scroll: quotes.toscrape.com/scroll/ + diff --git a/docs/topics/firebug.rst b/docs/topics/firebug.rst deleted file mode 100644 index 4ea8d3bd0..000000000 --- a/docs/topics/firebug.rst +++ /dev/null @@ -1,167 +0,0 @@ -.. _topics-firebug: - -========================== -Using Firebug for scraping -========================== - -.. note:: Google Directory, the example website used in this guide is no longer - available as it `has been shut down by Google`_. The concepts in this guide - are still valid though. If you want to update this guide to use a new - (working) site, your contribution will be more than welcome!. See :ref:`topics-contributing` - for information on how to do so. - -Introduction -============ - -This document explains how to use `Firebug`_ (a Firefox add-on) to make the -scraping process easier and more fun. For other useful Firefox add-ons see -:ref:`topics-firefox-addons`. There are some caveats with using Firefox add-ons -to inspect pages, see :ref:`topics-firefox-livedom`. - -In this example, we'll show how to use `Firebug`_ to scrape data from the -`Google Directory`_, which contains the same data as the `Open Directory -Project`_ used in the :ref:`tutorial ` but with a different -face. - -.. _Firebug: https://getfirebug.com/ -.. _Google Directory: http://directory.google.com/ -.. _Open Directory Project: http://www.dmoz.org - -Firebug comes with a very useful feature called `Inspect Element`_ which allows -you to inspect the HTML code of the different page elements just by hovering -your mouse over them. Otherwise you would have to search for the tags manually -through the HTML body which can be a very tedious task. - -.. _Inspect Element: https://www.youtube.com/watch?v=-pT_pDe54aA - -In the following screenshot you can see the `Inspect Element`_ tool in action. - -.. image:: _images/firebug1.png - :width: 913 - :height: 600 - :alt: Inspecting elements with Firebug - -At first sight, we can see that the directory is divided in categories, which -are also divided in subcategories. - -However, it seems that there are more subcategories than the ones being shown -in this page, so we'll keep looking: - -.. image:: _images/firebug2.png - :width: 819 - :height: 629 - :alt: Inspecting elements with Firebug - -As expected, the subcategories contain links to other subcategories, and also -links to actual websites, which is the purpose of the directory. - -Getting links to follow -======================= - -By looking at the category URLs we can see they share a pattern: - - http://directory.google.com/Category/Subcategory/Another_Subcategory - -Once we know that, we are able to construct a regular expression to follow -those links. For example, the following one:: - - directory\.google\.com/[A-Z][a-zA-Z_/]+$ - -So, based on that regular expression we can create the first crawling rule:: - - Rule(LinkExtractor(allow='directory.google.com/[A-Z][a-zA-Z_/]+$', ), - 'parse_category', - follow=True, - ), - -The :class:`~scrapy.spiders.Rule` object instructs -:class:`~scrapy.spiders.CrawlSpider` based spiders how to follow the -category links. ``parse_category`` will be a method of the spider which will -process and extract data from those pages. - -This is how the spider would look so far:: - - from scrapy.linkextractors import LinkExtractor - from scrapy.spiders import CrawlSpider, Rule - - class GoogleDirectorySpider(CrawlSpider): - name = 'directory.google.com' - allowed_domains = ['directory.google.com'] - start_urls = ['http://directory.google.com/'] - - rules = ( - Rule(LinkExtractor(allow='directory\.google\.com/[A-Z][a-zA-Z_/]+$'), - 'parse_category', follow=True, - ), - ) - - def parse_category(self, response): - # write the category page data extraction code here - pass - - -Extracting the data -=================== - -Now we're going to write the code to extract data from those pages. - -With the help of Firebug, we'll take a look at some page containing links to -websites (say http://directory.google.com/Top/Arts/Awards/) and find out how we can -extract those links using :ref:`Selectors `. We'll also -use the :ref:`Scrapy shell ` to test those XPath's and make sure -they work as we expect. - -.. image:: _images/firebug3.png - :width: 965 - :height: 751 - :alt: Inspecting elements with Firebug - -As you can see, the page markup is not very descriptive: the elements don't -contain ``id``, ``class`` or any attribute that clearly identifies them, so -we'll use the ranking bars as a reference point to select the data to extract -when we construct our XPaths. - -After using FireBug, we can see that each link is inside a ``td`` tag, which is -itself inside a ``tr`` tag that also contains the link's ranking bar (in -another ``td``). - -So we can select the ranking bar, then find its parent (the ``tr``), and then -finally, the link's ``td`` (which contains the data we want to scrape). - -This results in the following XPath:: - - //td[descendant::a[contains(@href, "#pagerank")]]/following-sibling::td//a - -It's important to use the :ref:`Scrapy shell ` to test these -complex XPath expressions and make sure they work as expected. - -Basically, that expression will look for the ranking bar's ``td`` element, and -then select any ``td`` element who has a descendant ``a`` element whose -``href`` attribute contains the string ``#pagerank``" - -Of course, this is not the only XPath, and maybe not the simpler one to select -that data. Another approach could be, for example, to find any ``font`` tags -that have that grey colour of the links, - -Finally, we can write our ``parse_category()`` method:: - - def parse_category(self, response): - # The path to website links in directory page - links = response.xpath('//td[descendant::a[contains(@href, "#pagerank")]]/following-sibling::td/font') - - for link in links: - item = DirectoryItem() - item['name'] = link.xpath('a/text()').extract() - item['url'] = link.xpath('a/@href').extract() - item['description'] = link.xpath('font[2]/text()').extract() - yield item - - -Be aware that you may find some elements which appear in Firebug but -not in the original HTML, such as the typical case of ```` -elements. - -or tags which Therefer in page HTML -sources may on Firebug inspects the live DOM - -.. _has been shut down by Google: https://searchenginewatch.com/sew/news/2096661/google-directory-shut diff --git a/docs/topics/firefox.rst b/docs/topics/firefox.rst deleted file mode 100644 index 2c85848be..000000000 --- a/docs/topics/firefox.rst +++ /dev/null @@ -1,82 +0,0 @@ -.. _topics-firefox: - -========================== -Using Firefox for scraping -========================== - -Here is a list of tips and advice on using Firefox for scraping, along with a -list of useful Firefox add-ons to ease the scraping process. - -.. _topics-firefox-livedom: - -Caveats with inspecting the live browser DOM -============================================ - -Since Firefox add-ons operate on a live browser DOM, what you'll actually see -when inspecting the page source is not the original HTML, but a modified one -after applying some browser clean up and executing Javascript code. Firefox, -in particular, is known for adding ```` elements to tables. Scrapy, on -the other hand, does not modify the original page HTML, so you won't be able to -extract any data if you use ```` in your XPath expressions. - -Therefore, you should keep in mind the following things when working with -Firefox and XPath: - -* Disable Firefox Javascript while inspecting the DOM looking for XPaths to be - used in Scrapy - -* Never use full XPath paths, use relative and clever ones based on attributes - (such as ``id``, ``class``, ``width``, etc) or any identifying features like - ``contains(@href, 'image')``. - -* Never include ```` elements in your XPath expressions unless you - really know what you're doing - -.. _topics-firefox-addons: - -Useful Firefox add-ons for scraping -=================================== - -Firebug -------- - -`Firebug`_ is a widely known tool among web developers and it's also very -useful for scraping. In particular, its `Inspect Element`_ feature comes very -handy when you need to construct the XPaths for extracting data because it -allows you to view the HTML code of each page element while moving your mouse -over it. - -See :ref:`topics-firebug` for a detailed guide on how to use Firebug with -Scrapy. - -XPather -------- - -`XPather`_ allows you to test XPath expressions directly on the pages. - -XPath Checker -------------- - -`XPath Checker`_ is another Firefox add-on for testing XPaths on your pages. - -Tamper Data ------------ - -`Tamper Data`_ is a Firefox add-on which allows you to view and modify the HTTP -request headers sent by Firefox. Firebug also allows to view HTTP headers, but -not to modify them. - -Firecookie ----------- - -`Firecookie`_ makes it easier to view and manage cookies. You can use this -extension to create a new cookie, delete existing cookies, see a list of cookies -for the current site, manage cookies permissions and a lot more. - -.. _Firebug: https://getfirebug.com/ -.. _Inspect Element: https://www.youtube.com/watch?v=-pT_pDe54aA -.. _XPather: https://addons.mozilla.org/en-US/firefox/addon/xpather/ -.. _XPath Checker: https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/ -.. _Tamper Data: https://addons.mozilla.org/en-US/firefox/addon/tamper-data/ -.. _Firecookie: https://addons.mozilla.org/en-US/firefox/addon/firecookie/ -