Book Image

Python 2.6 Text Processing: Beginners Guide

By : Jeff McNeil
Book Image

Python 2.6 Text Processing: Beginners Guide

By: Jeff McNeil

Overview of this book

<p>For programmers, working with text is not about reading their newspaper on a break; it's about taking textual data in one form and doing something to it. Extract, decrypt, parse, restructure – these are just some of the text tasks that can occupy much of a programmer's life. If this is your life, this book will make it better – a practical guide on how to do what you want with textual data in Python.</p> <p><em>Python 2.6 Text Processing Beginner's Guide</em> is the easiest way to learn how to manipulate text with Python. Packed with examples, it will teach you text processing techniques and give you the skills to work with the most popular Python libraries for transforming text from one form to another.</p> <p>The book gets you going with a quick look at some data formats, and installing the supporting libraries and components so that you're ready to get started. You move on to extracting text from a collection of sources and handling it using Python's built-in string functions and regular expressions. You look into processing structured text documents such as XML and HTML, JSON, and CSV. Then you progress to generating documents and creating templates. Finally you look at ways to enhance text output via a collection of third-party packages such as Nucular, PyParsing, NLTK, and Mako.</p>
Table of Contents (20 chapters)
Python 2.6 Text Processing Beginner's Guide
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Time for action – spell-checking live HTML pages


In this example, we'll update our HTML spell-checker so that we can check pages that are already being served, without requiring local access to the file system. To do this, we'll make use of the Python urllib2 module.

  1. We'll be using html_spelling.py file as our base here, so create a copy of it and name the file html_spelling-b.py.

  2. At the top of the file, update your import statements to include urllib2, and remove the fileinput module as we'll not take advantage of it in this example.

    import urllib2
    import enchant
    import optparse
  3. Now, we'll update our module-level main code and add an option to accept a URL on the command-line.

    if __name__ == '__main__':
        parser = optparse.OptionParser()
        parser.add_option('-u', '--url', help="URL to Check")
        opts, args = parser.parse_args()
    
        if not opts.url:
            parser.error("URL is required")
  4. Finally, change the fileinput.input call to reference urllib2.urlopen, add a line number counter, and...