24. Python
脚本学习笔记二十四屏幕抓取
2017/11/11 408
24. Python
脚本学习笔记二十四屏幕抓取
本篇名言:
“
静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴
人,敬君子方显有德,怕小人不算无能,退一步天高地阔,知足者人心常乐!
”
屏幕抓取是程序下载网页并且提取信息的过程。可以在程序中使用在线的网页
中所包含的信息。如果是动态网页就更加有用。
可以使用
urllib
库获取网页的
HTML
源代码,然后使用正则表达式提取需要的
信息。不过这样实现存在几个问题:正则表达式不是完全可读,对于某些
HTML
特
性无法处理,被
HTML
源码约束等。
可以使用
Tidy
的程序和
XHTML
解析或者使用
BeautifulSoup
库。
1. Tidy
和
XHTML
解析
XHTML
是
HMTL
的最新方言,是
XML
的一种形式。
Tidy
是用来修复不规范且随意的
HTML
工具。能以相当智能的方法修复一般的
错误。
解析从
Tidy
中获得表现良好的
XHMTL
方法是使用
HTMLParserHTMLParser
的回调方法如下:
并不需要实现所有的回调函数。
屏幕抓取代码类似如下:
from urllib import urlopen
from HTMLParser import HTMLParser
class Scraper(HTMLParser):
in_h3 = False
in_link = False