如何将WPS在线编辑表格的内容以爬虫的方式逐一保存到本地
思路
- 通过webdriver方式登陆以便相对简单地绕过真人检查机制
- 保存cookies
- 通过requests模块将内容获取逐一爬取保存到本地data.csv
遇到的问题
- 使用webdriver.get_cookies()保存的cookies信息不会转换到requests使用
- 审核模式无法审查到表格内容,疑似每过一段时间发送一个post进行提交同步
代码
part Ⅰ:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time
url = 'https://www.kdocs.cn/p/111373373834?from=docs&source=docsWeb'
'''
金山文档登陆
'''
def login():
driver = webdriver.Chrome()
#窗口最大
driver.maximize_window()
driver.get(url=url)
#访问后等待4秒
time.sleep(4)
#执行一个'点击登陆'事件
driver.find_element_by_css_selector('.btn-allow').click()
time.sleep(3)
# #勾选阅读协议
# driver.find_element_by_css_selector('.loginProtocal').click()
#选择更多登陆选项
driver.find_element_by_css_selector('.more > span:nth-child(1)').click()
#同意隐私协议
driver.find_element_by_css_selector('.dialog-footer-ok').click()
#选择账号密码登陆
driver.find_element_by_css_selector('#account > span:nth-child(2)').click()
#填入账号密码
driver.find_element_by_css_selector('#email').send_keys('************')
driver.find_element_by_css_selector('#password').send_keys('*************..')
#点击智能证按钮
ActionChains(driver).move_by_offset(740, 365).click().perform() # 鼠标左键点击, 740为x坐标, 365为y坐标。绕过智能认证检查,更换成点击坐标轴
# ActionChains(driver).move_by_offset(740, 365).context_click().perform() # 鼠标右键点击
time.sleep(3)
#点击立即登陆
driver.find_element(By.CSS_SELECTOR, '#login').click()
# time.sleep(5)
# driver.quit()
推荐文章: