为什么80%的码农都做不了架构师?>>>
我们编写爬虫并不是要完全爬取目标网站的所有网页的所有信息,我们通常只需要网页中的一行或几行信息,使用爬虫从网页中抽取我们需要的信息的过程叫做抓取。我们会使用Firebug的浏览器扩展,用于检查网页内容,使用正则表达式,Beautiful Soup Lxml进行网页数据抽取。Lxml使用简单,且运行速度快,下面我们会详细介绍如何使用Lxml进行数据抽取。
Lxml首先会将不合法的html解析为统一格式,如下:
>>> import lxml>>> import lxml.html>>> broken_html = '<ul class=country><li>Area<li>Population</ul>'>>> fixed_html = lxml.html.tostring(tree, pretty_print=True)>>> print fixed_html<ul class="country"><li>Area</li><li>Population</li></ul>
lxml正确解析了属性缺失的引号,并添加了闭合标签。
解析内容后,需要选择方法进行属性的选择,我们这里使用css选择器的方法,简介且可以复用。
css选择器:/cssref/css_selectors.asp