zoukankan      html  css  js  c++  java
  • selenium登录淘宝,requests抓取购物车

      selenium登录淘宝,requests抓取购物车:

    import selenium
    import selenium.webdriver
    import selenium.webdriver.common.keys
    import requests
    import lxml
    import lxml.etree
    import time
    #登录淘宝需要滑到验证码,如果滑到失败的话,也可以通过支付宝扫码登录   ,会话前时间长一点,测试可以打印购物车信息
    driver = selenium.webdriver.Firefox()
    driver.get("https://www.taobao.com")
    time.sleep(3)
    #切换到账户登录
    elem=driver.find_element_by_xpath("//*[@class="site-nav-sign"]/a") #点到账户登录
    time.sleep(3)
    elem.click()   #点击一下
    
    user=driver.find_element_by_id("TPL_username_1")
    time.sleep(2)
    password=driver.find_element_by_id("TPL_password_1")
    time.sleep(1)
    submit=driver.find_element_by_id("J_SubmitStatic")
    user.clear()  #清理user  因为已经有了,再写会出现问题
    password.clear()#清理user  password
    time.sleep(2)
    user.send_keys("用户名")
    time.sleep(2)
    password.send_keys("密码")
    time.sleep(15)   #手动滑动验证码
    #submit.click()  #点击一下  登录
    time.sleep(30)  # 等待页面加载  时间太短cookie会加载不出来
    
    print("开始会话")
    req=requests.session()  #会话   打开一个网页,直到关闭浏览器之前 都是会话
    cookies=driver.get_cookies()  #抓取全部的cookie
    for cookie in cookies:   #把cookie加载到自定义的网页中
        req.cookies.set(cookie['name'],cookie['value'])   #把cookie加载到req中
    req.headers.clear()  #清空头
    newpage=req.get("https://cart.taobao.com/cart.htm?")  #购物车网址
    print("会话完成")
    print(newpage.text)  #购物车页面
    #mytree=lxml.etree.HTML(newpage.text)
    #print(mytree.xpath("//*[@class="plus-switch"]/strong/text()"))  #提取购物车的价格  text()为提取标签之间的内容
    time.sleep(10)
    driver.close()
  • 相关阅读:
    (转)大型网站架构演变和知识体系
    最小生成树-Prim算法和Kruskal算法
    最短路径——Floyd-Warshall算法
    SpringBootService,一个基于spring boot搭建的SOA服务框架
    Netty(六)UDP在netty中的使用
    Netty(五)序列化protobuf在netty中的使用
    Netty(四)分隔符与定长解码器的使用
    Netty(三)TCP粘包拆包处理
    Netty(二)入门
    Netty(一)引题
  • 原文地址:https://www.cnblogs.com/my-global/p/12484147.html
Copyright © 2011-2022 走看看