Selenium实战-模拟登录淘宝并爬取商品信息_使用selenium模拟真实登录行为,并爬取商品评论数据。

模拟淘宝登录

def login_taobao():
print(‘开始登录…’)
try:
login_url=‘https://login.taobao.com/member/login.jhtml’
driver.get(login_url)
input_login_id = wait.until(EC.presence_of_element_located((By.ID, ‘fm-login-id’)))
input_login_password = wait.until(EC.presence_of_element_located((By.ID, ‘fm-login-password’)))
input_login_id.send_keys(‘your account’) # 用你自己的淘宝账号替换
input_login_password.send_keys(‘your password’) # 用你自己的密码替换
submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ‘.fm-button.fm-submit.password-login’)))
submit.click()
is_loging = wait.until(EC.url_changes(login_url))
return is_loging
except TimeoutException:
print(‘login_taobao TimeoutException’)
submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ‘.fm-button.fm-submit’)))
submit.click()
is_loging = wait.until(EC.url_changes(login_url))
if is_loging:
return is_loging
else:
login_taobao()

if name == ‘__main__’:
is_loging=login_taobao()
if is_loging:
print(‘已经登录’)


运行代码后可以看到程序自动的调起了一个Chrome浏览器并访问了淘宝的登录页面,自动的输入了用户淘宝账号和密码,自动的点击了登录按钮,但出现了一个滑动验证的控件,要求滑动验证。  
 ![淘宝登录需要滑动验证](https://img-blog.csdnimg.cn/direct/38fbcda2269749349039efee7cebfb63.png#pic_center)


人工拖动滑动验证控件,显示验证失败。  
 ![淘宝滑动验证失败](https://img-blog.csdnimg.cn/direct/9bbe35242f9b4d5a8b2db53ffef9e85b.png#pic_center)


这是因为淘宝有一套反爬机制识别是否是机器自动在登录。如果是人工打开浏览器,手工输入账号密码登录就不会弹出滑动验证控件进行验证。在网上有很多办法,如可以通过代理修改chormdriver的识别码,这里介绍通过Selenium如何接管已经运行的Chrome浏览器来实现规避淘宝的验证。


#### 3、Selenium接管已经运行的Chrome浏览器


##### 1)启动Chrome的远程调试模式


通过  
 `chrome.exe --remote-debugging-port=9222 --user-data-dir='某个存在的文件夹地址'` 启动Chrome的远程调试模式,启动一个Chrome浏览器。  
 找到chrome的安装目录,找到chrome.exe ,通过cmd命令行执行上面的命令。  
 ![启动Chrome远程调试模式](https://img-blog.csdnimg.cn/direct/5b86f9216d7f4540ab3fa6639f32416c.png#pic_center)


运行上面命令后,就会弹出一个chrom
  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值