- [2、实现商品获取代码](#2_134)
- [3、实现效果](#3_169)
+ [附上全部完整代码:](#_182)
现在很多网站要获取数据都得要先登录。Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。本文介绍如何通过Selenium来登录淘宝并自动爬取商品信息。
关于Selenium的安装与配置请参考博文《
Selenium安装与配置》
一、通过Selenium模拟登录淘宝
现在要获取淘宝的商品信息需要先登录淘宝。我们先来分析淘宝的登录页面。
1、分析淘宝登录页面
淘宝登录页面为https://login.taobao.com/member/login.jhtml,支持扫描登录和用户名、密码验证登录。我们模拟用户名、密码登录。
通过Chrome浏览器输入淘宝登录页面链接F12打开开发者工具,分析淘宝登录页的源代码,找到登录账号、登录密码和登录按钮的相关控件的源代码
在这里可以看到
账号名的输入框控件代码:<input name="fm-login-id" type="text" class="fm-text" id="fm-login-id" tabindex="1" aria-label="账号名/邮箱/手机号" placeholder="账号名/邮箱/手机号" autocapitalize="off" data-spm-anchor-id="a2107.1.0.i1.3e3e11d9pGQKXf">
登录密码的输入框控件代码:<input name="fm-login-password" type="password" class="fm-text" id="fm-login-password" tabindex="2" aria-label="请输入登录密码" placeholder="请输入登录密码" maxlength="40" autocapitalize="off" data-spm-anchor-id="a2107.1.0.i2.3e3e11d9pGQKXf">
登录按钮的控件代码:<button type="submit" tabindex="3" class="fm-button fm-submit password-login" data-spm-anchor-id="a2107.1.0.i3.3e3e11d9pGQKXf">登录</button>
找到登录需要用的的这几个关键控件代码都就可以开始编码来控制这些控件进行模拟操作了。
2、通过Selenium实现模拟登录代码
具体代码如下:
from selenium.webdriver import Chrome
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common import TimeoutException
driver=Chrome()
wait = WebDriverWait(driver, 10)
# 模拟淘宝登录
def login\_taobao():
print('开始登录...')
try:
login_url='https://login.taobao.com/member/login.jh