Python爬虫:十分钟实现从数据抓取到数据API提供

 

依旧先从爬虫的基本概念说起,你去做爬虫做数据抓取,第一件事想必是去查看目标网站是否有api。有且可以使用的话,皆大欢喜。

假如目标网站自身不提供api,但今天你心情不好就想用api来抓数据,那怎么办。有个长者说,没api创造api也要上,所以,那就创造api吧~

关于Toapi

Python爬虫:十分钟实现从数据抓取到数据API提供

很多时候你需要经历抓取数据->存储数据->构建API的基本步骤,然后在去定时更新数据。然而你的目的并不是想去学习搭建稳定可靠自动更新的API服务,你只是想用这个网站的数据而已。Toapi就是为此实现,可以自动化的完成前述任务,达到使用网站实时数据的目的。

先看效果图
http://gk.chengdu.gov.cn/govInfoPub/list.action?classId=07170201020202&tn=2&p=1 (这个网站是没有api的哟)手机点进去可能没有数据,用pc端浏览器就好。

如你所见,Toapi会让数据变成一块蛋糕,你只需要将它切下来吃了(虽然中文的显示是unicode)。那么话不多说,看代码。

Python爬虫:十分钟实现从数据抓取到数据API提供

 

满打满算10行代码吧,你就可以实现数据的api,心动不如行动还不给我打钱,啊呸,不好意思,串场了。下面还是解释下上面的代码。希望对你有帮助。

对了对了,你写这些代码不用十分钟吧,不要算我标题党。

安装:pip install toapi

  • Toapi基于flask,希望这点有助于理解框架的运行。
  • Toapi仅支持python3,这点非常遗憾,但是你一定会python3.
  • Item.Meta.route:支持正则。上面说了等同于flask中路由解析。其中上述代码中使用:page进行翻页。也就是说Key中的:xx于value中的:xx值保持一致,借此实现翻页效果。
  • Item.Meta.source:包含单个数据结构的HTML部分(你可以精确到比如source = XPath('//div[@id='xxx']'))。
  • api.register():注册服务准确的说是注册路由。
  • api.server():运行一个服务器,提供API服务。

相关文章:

  • 2021-12-10
  • 2021-12-03
  • 2021-12-12
  • 2021-12-10
  • 2022-12-23
  • 2021-11-02
  • 2021-07-30
猜你喜欢
  • 2021-12-10
  • 2021-11-22
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2021-09-08
相关资源
相似解决方案