Python库,用于抓取数据源并创建可读的delta
项目描述
delta-scraper
处于早期开发阶段
Python库,用于抓取数据源并创建可读的delta。
关于背景,请参阅 抓取飓风伊尔玛.
概念
此库允许您定义 抓取器,它们是知道如何从源(通常是Web API,但抓取器可以编写为针对HTML或其他格式进行操作)检索信息并作为JSON持久保存的对象。
当抓取器抓取新鲜信息时,它具有将那些数据与旧数据进行比较并使用差异创建可读消息的能力。
这些功能可以与git仓库结合使用,以创建提交日志,包含伴随机器可读diff的可读提交消息。
请参阅 disaster-scrapers 和 disaster-data 以查看一些此模式的应用示例。
基本用法
您可以通过继承 DeltaScraper
定义新的抓取器。以下是一个示例,它抓取FEMA避难所的列表。
class FemaShelters(DeltaScraper):
url = "https://gis.fema.gov/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=FEMA:FEMANSSOpenShelters&maxFeatures=250&outputFormat=json"
owner = "simonw"
repo = "disaster-data"
filepath = "fema/shelters.json"
record_key = "SHELTER_ID"
noun = "shelter"
def fetch_data(self):
data = requests.get(self.url, timeout=10).json()
return [feature["properties"] for feature in data["features"]]
def display_record(self, record):
display = []
display.append(
" {SHELTER_NAME} in {CITY}, {STATE} ({SHELTER_STATUS})".format(**record)
)
display.append(
" https://www.google.com/maps/search/{LATITUDE},{LONGITUDE}".format(
**record
)
)
display.append(" population = {TOTAL_POPULATION}".format(**record))
display.append("")
return "\n".join(display)
项目详情
关闭
delta_scraper-0.1a1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 88b863a1a436f184799aad0f2325bd3bab9c0e5d1c3a534779fd494734048a26 |
|
MD5 | 217fed4f228456b699a53717cefac981 |
|
BLAKE2b-256 | 9004082f6b9b55c85a82f3c354ea3b7ea29075cce0984b2782a6acee7b7ee16e |