大眾點評
from time import sleep from selenium import webdriver import random def process_request(self,request,spider): phone = '電話號碼' driver = webdriver.Chrome() driver.get('http://www.dianping.com/') #登陸 sleep(random.uniform(1,3)) elem = driver.find_element_by_xpath(r'//*[@div="top-nav"]/div/div[2]/span[2]/a[1]') elem.click() #切入網頁框架 sleep(random.unifrom(1,3)) driver.switch_to.frame(driver.find_element_by_xpath(r'//*[@id="J_login_container"]/div/iframe')) # 切入 # 點擊賬號登錄 driver.find_element_by_xpath(r"/html/body/div/div[2]/div[5]/span").click() # print(driver.page_source) # 輸入驗證碼 sleep(random.uniform(1, 3)) driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[:3]) sleep(random.uniform(0, 2)) driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[3:7]) sleep(random.uniform(0, 2)) driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[7:]) # 點擊獲取驗證碼,等待輸入 sleep(random.uniform(1, 3)) driver.find_element_by_xpath(r'//*[@id="send-number-button"]').click() key = input('請輸入驗證碼:') driver.find_element_by_xpath(r'//*[@id="number-textbox"]').send_keys(key) # 點擊登陸 sleep(random.uniform(0, 1)) driver.find_element_by_xpath(r'//*[@id="login-button-mobile"]').click() driver.switch_to.default_content() # 切出框架 sleep(random.uniform(1,5)) # 處理cookie print(request) cookie = driver.get_cookies() print(cookie) result = {} for each in cookie: result[each['name']] = each['value'] return result