网页抓取的框架/工具。
ghettobird的Python项目详细描述
贫民区鸟
为web抓取而设计的Python框架/工具。 (本自述和工具本身仍在构建中。)
安装
使用包管理器pip安装foobar。在
pip install ghettobird
目标
这个项目的主要目标是将抓取应用程序简化为单个dictionary/JSON对象(附带一些辅助函数)。在
这允许我们:
- 减少样板代码
- 提高代码的可读性
- 对脆弱的代码进行分组以便于维护
- 减少错误处理中的不一致性
使用
使用示例的特点是website。这是一个静态的HTML页面,但是很快就会添加一个JS重的示例。在
^{pr2}$Example One:获取单个元素
如果我们想从示例页面中获取一个页眉,并且只希望返回一个元素,那么可以使用以下“flightpath”:
itinerary={"url":"http://ghettobird.sample.s3-website.us-east-2.amazonaws.com","flightpath":{"header":"//*[@class='page-header']",},}
我们将返回一个字典,该字典遵循我们制定的蓝图,但数据填充有:
{'header':'Jobs in St. Louis, Missouri'}
示例二:获取列表
如果我们想从示例页面获取每个职位名称,下面的flightpath将是合适的。注意xpath后面的括号。这允许我们从元素返回多个值。在
itinerary={"url":"http://ghettobird.sample.s3-website.us-east-2.amazonaws.com","flightpath":{"titles":["//h4[@class='title']"],},}
结果是:
{'titles':['Senior Software Dev','Agile Coach','Software Engineer','Junior Software Dev','Ping Pong Player']}
示例三:转换器函数
默认情况下,除非另有指定,否则使用给定xpath找到的元素将返回其文本值。但是,如果我们需要对元素执行某种转换或获取HREF而不是文本,“transformer”函数将是必需的。在
fromghettobirdimportfly,transformer
- 项目
标签: