Metadata-Version: 1.1
Name: parsel
Version: 1.2.0
Summary: Parsel is a library to extract data from HTML and XML using XPath and CSS selectors
Home-page: https://github.com/scrapy/parsel
Author: Scrapy project
Author-email: info@scrapy.org
License: BSD
Description: ===============================
        Parsel
        ===============================
        
        .. image:: https://img.shields.io/travis/scrapy/parsel.svg
           :target: https://travis-ci.org/scrapy/parsel
        
        .. image:: https://img.shields.io/pypi/v/parsel.svg
           :target: https://pypi.python.org/pypi/parsel
        
        .. image:: https://img.shields.io/codecov/c/github/scrapy/parsel/master.svg
           :target: http://codecov.io/github/scrapy/parsel?branch=master
           :alt: Coverage report
        
        
        Parsel is a library to extract data from HTML and XML using XPath and CSS selectors
        
        * Free software: BSD license
        * Documentation: https://parsel.readthedocs.org.
        
        Features
        --------
        
        * Extract text using CSS or XPath selectors
        * Regular expression helper methods
        
        Example::
        
            >>> from parsel import Selector
            >>> sel = Selector(text=u"""<html>
                    <body>
                        <h1>Hello, Parsel!</h1>
                        <ul>
                            <li><a href="http://example.com">Link 1</a></li>
                            <li><a href="http://scrapy.org">Link 2</a></li>
                        </ul
                    </body>
                    </html>""")
            >>>
            >>> sel.css('h1::text').extract_first()
            u'Hello, Parsel!'
            >>>
            >>> sel.css('h1::text').re('\w+')
            [u'Hello', u'Parsel']
            >>>
            >>> for e in sel.css('ul > li'):
                    print(e.xpath('.//a/@href').extract_first())
            http://example.com
            http://scrapy.org
        
        
        
        
        History
        -------
        
        1.2.0 (2017-05-XX)
        ~~~~~~~~~~~~~~~~~~
        
        * Add :meth:`~parsel.selector.SelectorList.get` and :meth:`~parsel.selector.SelectorList.getall`
          methods as aliases for :meth:`~parsel.selector.SelectorList.extract_first`
          and :meth:`~parsel.selector.SelectorList.extract` respectively
        * Add default value parameter to :meth:`~parsel.selector.SelectorList.re_first` method
        * Add :meth:`~parsel.selector.Selector.re_first` method to :class:`parsel.selector.Selector` class
        * Bug fix: detect ``None`` result from lxml parsing and fallback with an empty document
        * Rearrange XML/HTML examples in the selectors usage docs
        * Travis CI:
        
          * Test against Python 3.6
          * Test against PyPy using "Portable PyPy for Linux" distribution
        
        
        1.1.0 (2016-11-22)
        ~~~~~~~~~~~~~~~~~~
        
        * Change default HTML parser to `lxml.html.HTMLParser <http://lxml.de/api/lxml.html.HTMLParser-class.html>`_,
          which makes easier to use some HTML specific features
        * Add css2xpath function to translate CSS to XPath
        * Add support for ad-hoc namespaces declarations
        * Add support for XPath variables
        * Documentation improvements and updates
        
        
        1.0.3 (2016-07-29)
        ~~~~~~~~~~~~~~~~~~
        
        * Add BSD-3-Clause license file
        * Re-enable PyPy tests
        * Integrate py.test runs with setuptools (needed for Debian packaging)
        * Changelog is now called ``NEWS``
        
        
        1.0.2 (2016-04-26)
        ~~~~~~~~~~~~~~~~~~
        
        * Fix bug in exception handling causing original traceback to be lost
        * Added docstrings and other doc fixes
        
        
        1.0.1 (2015-08-24)
        ~~~~~~~~~~~~~~~~~~
        
        * Updated PyPI classifiers
        * Added docstrings for csstranslator module and other doc fixes
        
        
        1.0.0 (2015-08-22)
        ~~~~~~~~~~~~~~~~~~
        
        * Documentation fixes
        
        
        0.9.6 (2015-08-14)
        ~~~~~~~~~~~~~~~~~~
        
        * Updated documentation
        * Extended test coverage
        
        
        0.9.5 (2015-08-11)
        ~~~~~~~~~~~~~~~~~~
        
        * Support for extending SelectorList
        
        
        0.9.4 (2015-08-10)
        ~~~~~~~~~~~~~~~~~~
        
        * Try workaround for travis-ci/dpl#253
        
        
        0.9.3 (2015-08-07)
        ~~~~~~~~~~~~~~~~~~
        
        * Add base_url argument
        
        
        0.9.2 (2015-08-07)
        ~~~~~~~~~~~~~~~~~~
        
        * Rename module unified -> selector and promoted root attribute
        * Add create_root_node function
        
        
        0.9.1 (2015-08-04)
        ~~~~~~~~~~~~~~~~~~
        
        * Setup Sphinx build and docs structure
        * Build universal wheels
        * Rename some leftovers from package extraction
        
        
        0.9.0 (2015-07-30)
        ~~~~~~~~~~~~~~~~~~
        
        * First release on PyPI.
        
Keywords: parsel
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
