cookie:
本文以登录的自己的 知乎 为例,找到当前的cookie信息,然后让浏览器带着自己的cookie信息去访问 网址:知乎
在goole浏览器下面 Ctrl+shift+J (F12)打开console工作台->application->cookie里面找到登录以后的cookie信息 将他写到你的浏览器里面就可以了!
import io import sys #改变标准输出的默认编码(改变中文输出的乱码问题) sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #导入selenium的浏览器驱动接口 from selenium import webdriver from time import sleep driver = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchromedriver.exe") # 加载知乎主页,查看快照知此时处于未登录状态 driver.get("https://www.zhihu.com") sleep(1) print(driver.save_screenshot("zhihu_nocookies.png")) # 操作浏览器登录知乎并抓包cookies zhihu_cookies = { #第一个cookie信息不要,注释掉 #'_xsrf':' 4Aehy9uAVpUQwh63ft2lgIFMZSwlqGs7', '_zap': '047801d6-2a5c-490d-89eb-14c27fed8f63' , 'capsion_ticket' :"2|1:0|10:1568897272|14:capsion_ticket|44:NDA4MmQwZjI1MGVmNGI2OGIwMzdjODViYTdmZDhjMWI=|b491fbdbb7c4a73a344512fabd38111217ff6846d10c831a266fd0a0119856a2" , 'd_c0': "ANCi2eDKEw-PTp0vSECsR7vX7XcdN1VL5b4=|1551806289" , 'q_c1': 'ee90e06b16e049d2b6395ae23eb3328d|1551806291000|1551806291000', 'tgw_l7_route': '060f637cd101836814f6c53316f73463', 'tgw_l7_route': '18884ea8e9aef06cacc0556da5cb4bf1', 'tgw_l7_route': '060f637cd101836814f6c53316f73463', 'tst': 'r' , 'z_c0': "2|1:0|10:1568897286|4:z_c0|92:Mi4xemNkekNRQUFBQUFBMEtMWjRNb1REeVlBQUFCZ0FsVk5Cc2R3WGdBalhkbVNieHZUY3dLMTA0RlFHVFBiNjh5RjFR|c90ecb48ce8d612f537305315f543bcdf43d0ad588d28618896faacd085f11fd" , } # 将用户登录产生的cookies全部添加到当前会话 for k, v in zhihu_cookies.items(): driver.add_cookie({'domain': '.zhihu.com', 'name': k, 'value': v}) # 再次访问知乎主页并拍照,此时已经是登录状态了 driver.get("https://www.zhihu.com") sleep(3) print(driver.save_screenshot("zhihu_cookies.png"))
#模拟滚动条的滚动(这个用常规的爬虫很难实现)
# 加载知乎主页
# 将页面滚动到最后,执行多次
for i in range(3):
js = "var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
sleep(3)
# 截图并退出,页面侧边滚动条已经下滑了许多像素
print(driver.save_screenshot("zhihu_scroll.png"))
# 退出浏览器 driver.quit()