网页抓取以获得最佳价格?

2024-09-29 20:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这个网站比较了我国大多数商店的所有价格以获得某种魔力:收集卡https://www.ligamagic.com.br/?view=cards%2Fsearch&card=

我想编写一个程序:

1->要求我提供卡片列表(含金额)

2->;我插入要购买的卡

3->;程序显示购买这些卡的最佳方式。在

任何商店的运费通常是7美元。在

程序必须告诉我什么是购买我插入的所有卡的最佳方式(最便宜的方式)。它必须根据运输成本显示多个商店,如果那样更便宜的话。在

我的问题是:我不知道从哪里开始。 对于这个非常具体的案例,我应该学到什么?植物网刮擦?Excel网页抓取?在

我愿意学习代码语言、观看视频教程等。任何能帮助我的东西。


Tags: httpsbrgt程序comview列表网站
2条回答

你将需要在这里搜索到的每一个问题都会用到你的刮卡程序。每个站点的html将以不同的方式组织,您必须剖析这个html来确定每个站点的卡片数据是如何表示的。如果您愿意为每个站点的html编写唯一的代码来搜索特定的卡数据,那么我建议您使用以下方法:

  • 在phantomjs中使用上面建议的Selenium webdriver(它是无头的,所以速度更快)。在

    1. 对于可能包含该卡的每个潜在站点,编写一个函数将幻影js驱动程序定向到该站点的url,然后使用FindElement查找搜索栏元素。然后使用SendKeys方法将单个卡的名称发送到搜索栏,然后使用search按钮上的Click方法。在
    2. 然后驱动程序将被引导到带有搜索结果的页面。在这里,您将不得不使用诸如chrome开发工具之类的工具来检查页面的html,并确定卡片数据(名称、价格等)是如何显示的。一旦剖析了html,就可以让程序使用FindElement来获取这些数据。将其存储在某种集合中以返回主函数。在
    3. 重复这些步骤,为你计划搜索的每个网站编写一个独特的scrape函数。在
    4. 从您的主函数中,调用上面的每个scrape函数,并比较每个函数的结果以找到最佳价格。在

这是一个非常高层次的解释,但是如果您了解python或c#等语言的基础知识,那么自学selenium和phantomjs就很容易了,而且实现起来也相当容易。在

您可以使用Selenium驱动程序从您选择的编码语言驱动浏览器。这需要一点设置,但并不太困难。在

我想你在这里会发现两个问题。首先,你需要了解在哪里寻找(即,什么网站在销售),然后想出一些启发性的方法来定义你如何找出要看的地方,这样你的程序就能够在网站动态变化时发现新的购买来源(即网站下线、商店关门、新开张和库存告罄)。其次,你需要弄清楚如何使计划因素,如运输成本,税收等(这些信息将不会在同一格式或同一地点从每个网站,该程序将要刮掉)。在

我希望这对你有帮助?在

相关问题 更多 >

    热门问题