我是API领域的新手,我想学习API的基础知识。我也在学习蟒蛇。我可以使用python和API来实现下面提供的目标吗?
我的最终目标是从所有大零售商那里找出一个产品的价格,并对价目表进行比较。
此外,请建议除了python和API之外,我还需要学习哪些工具、编程语言。
[
{
name: xxx,
id: xxx,
price: xxx,
Shop Name: xxx
},
{
name: xxx,
id: xxx,
price: xxx,
Shop Name: xxx
},
]发布于 2022-07-21 16:55:35
有三个主要步骤和两个主要的“程序”
第一步
创建基本服务器
我在python方面有经验的两个好框架是姜戈和烧瓶。另一个我没有经验但听过好消息的是fastAPI
通过教程来获得一个基本的“hello”API端点将是一个很好的第一步。
备注
为此,如果您的api是REST、SOAP或RPC,则不会有太大的区别。如果现在这些对你没有任何意义的话,那没关系。在学习教程的过程中,您将学到更多。
第二步
创建一个webscraper,以便从公司网站获取产品的价格。
实际上,您可能希望创建一个清单,列出您希望在搜索最佳价格中包括的所有公司/网站。
这将是最好的尝试,让你的网页刮刀为一个单一的网站,然后扩大到其他网站。
在您能够运行您的脚本并从单个站点获得最佳价格之后,将其扩展到能够在您的列表中搜索所有站点。
每个站点可能都需要自己的方法,因为在html/xml中搜索的站点布局和关键字将因站点不同而不同。
一旦你能够通过给出产品名称来运行你的脚本,并且你从各种各样的卖家那里得到了最好的价格,你就准备好了第三步
第三步
把所有的都放在一起
一旦您有了一个基本的api端点,并且您的脚本要从卖家那里获得最好的价格,您所需要做的就是将脚本格式化为django或烧瓶中的一个模块,然后导入并调用api端点中的方法。
为了进行优化(最终列表中可能会有很多站点),您需要查看线程和异步任务。Django比烧瓶更适合多线程,如果你认为这是你绝对想要实现的东西
备注
这其中的两个主要组件是用于服务您的信息的和api端点,以及用于收集信息的webscraper。
这两部分都可以在大多数编程语言中完成。
Python是一种很好的语言,但我个人推荐TypeScript和nextjs或基于nodejs的框架用于api端点。另一个很好的选择是Go,因为Go本身就对通过频道进行线程处理提供了惊人的支持,这将使调用python脚本同时进行,并等待所有人完成相当简单的任务。
Python仍然是webscraping的一个很好的用例,所以如果您使用nodejs或基于go的服务器,您将希望每个站点的can抓取在不同的脚本中进行,这样就可以调用不同的程序并发运行。
重述
你需要一个服务器和一个网络刮刀器。任何语言和框架都是可以接受的。
https://stackoverflow.com/questions/73069815
复制相似问题