学习Python自动化的一个好办法就是构建一个价格追踪器。由于这项任务生成的脚本可以立即投入使用,所以对于初学者来说尤为方便。本文将向大家介绍如何用Python采集器建立一个可立即实现电商价格监控的可扩展价格追踪器。
价格监控的目的
价格监控的好处多多。对于您个人来说,通过价格监控您可能会以最低价买到一个心仪的产品。
对于公司来说,价格追踪器可以检测竞争对手的销售价格,观察对方何时会对相同的产品展开优惠活动,或为您的产品定一个能实现最佳利润率的价格。价格监控软件可以帮助您恰到好处地调整价格。
抓取价格演示
# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://注册账号获取服务器地址/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"
headers = {
"Accept-Encoding": "gzip",
"Connection": "close"
}
if __name__ == "__main__":
r = requests.get(url, headers=headers)
json_obj = r.json()
print(json_obj)
利用item_get接口可以抓取到商品详情数据,响应参数中可以监控到优惠价、总价、原价等。
promotion_price | 优惠价 |
price | 价格 |
total_price | 总价 |
suggestive_price | 建议价 |
orginal_price | 原价 |
请注意,本例中使用的CSS选择器专门用于抓取目标。如果您正在处理其他网站,这是您唯一要改代码的地方。
在CSS选择器的帮助下,我们使用BeautifulSoup来定位一个包含价格的元素。该元素存储在el变量中。el标签的文本属性el.text包含价格和货币符号。价格解析器会解析这个字符串,然后提取价格的浮点值。
DataFrame的对象中有一个以上的产品URL。我们来循环运行所有代码,用新的信息更DataFrame。
最简单的方法是将每一行转换成一个字典。这样,您可以读取URL,调用get_price()函数,并更新所需字段。
我们将添加两个新的键值——提取的价格(price)和一个布尔值(alert),用于在发送邮件时过滤函数行。