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)\Google\Chrome\Application\chromedriver.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()

