1. 程式人生 > >登入京東爬取購物車商品及價格

登入京東爬取購物車商品及價格

#coding:utf-8
import selenium
import selenium.webdriver
import time
import lxml
import lxml.etree
import requests
driver = selenium.webdriver.Chrome("C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver.exe")
driver.get("https://passport.jd.com/new/login.aspx")#目標網址
time.sleep(3)#等待
#[@class='login-tab login-tab-r']/a
elem=driver.find_element_by_xpath("//*[@class=\"login-tab login-tab-r\"]/a")#定位“賬號登入'
elem.click()#點選
#切換到賬戶登入

user=driver.find_element_by_id("loginname")#定位賬號輸入框
password=driver.find_element_by_id("nloginpwd")#定位密碼輸入框
submit=driver.find_element_by_id("loginsubmit")#定位登入按鈕
user.clear()#賬號清除
password.clear()#密碼清除
time.sleep(1)#等待
user.send_keys("*********")#輸入賬號
password.send_keys("XXXXXXXXXX")#輸入密碼
time.sleep(1)#等待
submit.click()#點選
time.sleep(15) #等待頁面載入,
cookies=driver.get_cookies()#抓取全部的cookie


print "開始會話"
req=requests.session()#會話

for  cookie  in cookies:
    req.cookies.set(cookie['name'],cookie["value"])
req.headers.clear()#清空頭
newpage=req.get("https://cart.jd.com/cart.action")#進入購物車頁面
print "會話完成"
print newpage.text  #頁面
mytree=lxml.etree.HTML(newpage.text)
print  mytree.xpath("//*[@class=\"cell p-sum\"]/strong/text()")#定位到價格


time.sleep(10)
driver.close()#關閉當前視窗