首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 实战 | 电商价格查询小助手

Python 实战 | 电商价格查询小助手

原创
作者头像
花花Binki
发布2024-11-08 22:31:47
发布2024-11-08 22:31:47
6820
举报
文章被收录于专栏:Python高级编程Python高级编程

前言

本篇以某电商平台为例,用python实现登录、商品价格查询等功能。

⚠️声明:以下涉及爬虫等技术,仅供学习与参考。请遵守各大网站的君子协议!

准备工作

在开始之前,咱们得先确保装备齐全。首先,安装必要的Python库,比如requestsbeautifulsoup4selenium等。

前边两个是网络相关,第三个经常出现在自动测试场景下,帮助我们自动化完成一些操作。同时支持Java、Python、JavaScript等语言。由于其敏捷的速度,大部分场景下交互快于手动,所以有时也被认为一种“爬虫”。

登录

早期的各个电商平台都使用PC网页端来购物。最近这十年,由于移动互联网的便捷,手机才逐渐成为新时代的购物终端。不过现在仍有部分用户在电脑购物。

现在你想查一款某某电脑的价格,网页并不会直接给出结果,而是跳转到登录。所以,登录网站就是本教程的首要步骤。

某电商平台的登录窗口(局部)
某电商平台的登录窗口(局部)

步骤如下:

代码语言:python
复制
# 点击登录按钮
login_button = driver.find_element(By.LINK_TEXT, '登录')
login_button.click()

# 等待登录页面加载
time.sleep(2)

# 输入用户名和密码
username_input = driver.find_element(By.ID, 'loginname')
password_input = driver.find_element(By.ID, 'nloginpwd')
username_input.send_keys('your_username')
password_input.send_keys('your_password')

# 提交登录表单
password_input.submit()

# 等待登录成功
time.sleep(5)

检索新方式

登录成功后,一般会刷新本页面,这时搜索栏就可以直接搜索物品。不过这次我们不采取模拟搜索栏的的输入效果,而是使用固定 URL + param 的方式。

这里先手动输入一个任意物品,按下回车去尝试搜索。观察地址栏:

某电商平台com/Search?keyword=xxx

xxx就是我们想要的物品,前面就是固定格式。这样一来,便有了更快捷的方式。

代码如下:

代码语言:python
复制
url = '电商网站com/Search?keyword=xxx&其他参数'
driver.get(url)

信息分析

对于手动打开的网站,看到的是品类筛选,和一系列商品信息。而对于代码来说,收到的还是一堆代码。所以接下来需要手动告诉代码,yyy代表什么,mmm代表什么,我需要得到什么。

怎样获取呢?可以打开F12,就是浏览器的控制台。然后找到在上面找到这个图标:

元素定位
元素定位

然后点击价格,即可在控制台看到价格元素。

代码语言:html
复制
<div class="p-price">
    <strong><em>¥</em>
        <i class="J-prom-p-10100042650590">1275.75</i></strong>
        <span class="J-final-p-10100042650590 takePrice-plus"></span>
        <span class="originalPrice"><em>¥</em>1299.00</span>  
</div>

价格的定位方式即为

代码语言:python
复制
price = item.find('div', class_='p-price').get_text(strip=True)

总结

以上就是一个简单的电商价格查询助手原理,你可以根据需求继续扩展,希望本篇文章对你有帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 准备工作
  • 登录
  • 检索新方式
  • 信息分析
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档