[转载]【自主开发】电商产品价格实时抓取小工具 – iPersia – 博客园.
各位朋友,你是不是曾经想从网店够买心仪的产品,奈何一次又一次的错过好价格呢?如果你曾经碰到过,那么下面的这个小工具也许可以帮你买到心仪的产品。
好价的出现往往随机的,而且时间短暂。机会是给有准备的人的。难道时时的关注网站,不停的刷新页面,才能等到机会么,当然不是。这种低级、乏味的事情当然要由电脑来做啦!
好,不扯皮了,下面开始介绍故事的主角:电商产品价格实时抓取小工具!
这个小工具是我在工作之余完成的,它可以实时的抓取指定商品的价格,是否有货等状态,并在达到心理价位上,弹窗提醒用户。
1、支持的电商
- 京东(360buy)
- 亚马逊(Amazon.cn)
- 易迅(51buy)
- 当当(dangdang)
2、工作原理
就是一遍又一遍的抓取产品页面,分析出产品的价格,库存等信息啦~~~~~~
3、工具特点
主要有以下五个小特点:
1)自动抓取
完全自动化
2) 价格识别
京东产品的价格是图片格式的(png),所以需要用到一些图像识别的小知识。
3) 多个产品多线程查询
通过调度器,可以同时支持多个产品查询。而通过多线程,则可以提供更快的响应!
4)设置心理价格,当价格出现时,弹窗提醒。
当你的心理价位出现时,会弹窗提醒,一定把握时机!
5)状态监控
监控当前队列数量,线程数量、执行次数和网络流量等等。
4、未来的工作
1)支持更多的电商
一号店、天猫、新蛋、亚马逊米国等等
2)完善库存状态的抓取
目前,京东商城的产品库存状态抓取不到,需要进一步研究。
5、简易使用教程
1)Add a product – 添加产品
填写名称、网址、间隔和目标价格,点击确定即可!
也可以通过配置文件来添加产品,配置文件名为:products.xml。格式如下:
<?xml version=”1.0″ encoding=”gb2312″?>
<infor>
<configuration>
<MaxAsyncInvokeCount>16</MaxAsyncInvokeCount>
<ThreadDelayTime>1000</ThreadDelayTime>
</configuration>
<productlist>
<product id=”ue900″>
<name>ue900</name>
<url>http://item.51buy.com/item-448742.html</url>
<interval>5000</interval>
<targetprice>2000</targetprice>
</product>
<product id=”ue9000″>
<name>ue9000</name>
<url>http://item.51buy.com/item-448746.html</url>
<interval>5000</interval>
<targetprice>2000</targetprice>
</product>
</productlist>
</infor>
其中configuration用来配置多线程数量和抓取时间间隔(ms).
product为产品信息,包括产品名称、网址、抓取间隔(ms,已经无效了)、目标价位即心理价位。
2)Clear Queue – 清除队列
清除队列中的页面请求。
3)Start? – 开始抓取
开始抓取价格信息。
4)Stop? – 停止抓取
停止抓取价格信息。
6、下载试用