一.项目背景
在之前文章构建Cookie池(一)我们介绍了如何全自动化利用Selenium构建Cookie池。但是在实际开发中,我们经常会遇到反爬措施,成功登录网页的情况也不常见,比如会遇到图形验证码和滑块等,破解时也比较麻烦,比较好的方法就是我们手动协助登录,也就是半自动化式获取Cookie,这也相对来说是一个比较万能的方法。
本次项目我们爬取的目标网址还是闪职网,一个专门为爬虫工程师进行练习的网址,也
在此非常感谢网站后台维护人员辛勤付出,网址为:http://shanzhi.spbeen.com/,从
中可以看出Cookies有csrftoken和shanzhi_kmer以及它们各自对应的值
二.实现过程
from selenium import webdriver
import time
import json
#用户名
users=[
{'username':'test123456','password':'test123456'},
{'username':'wfq123','password':'123'},
{'username':'cauwfq','password':'cauwfq'},
{'username':'cauwfq1234','password':'cauwfq1234'}
]
#程序将预处理内容全部处理好
#浏览器等着用户来处理,比如登录
#用户处理的同时,程序一直在监听
#直到用户直接关闭浏览器,程序发生异常,继续往下执行
def wait_cookie(driver):
#循环监听
while True:
try:
#获取cookies
cookie_list=driver.get_cookies()
#获取cookie值
cookie_dict={ck['name']:ck['value'] for ck in cookie_list}
#输出cookie值
print(cookie_dict)
except:
#写入文件
with open('./cookies_1.txt', 'a+', encoding='utf8') as f:
#写入字典
f.write(json.dumps(cookie_dict))
#写入换行符
f.write('n')
break
#睡眠3s
time.sleep(3)
#登录网址
def login(username,password):
#初始化url
url='http://shanzhi.spbeen.com/login/'
#初始化webdriver
driver=webdriver.Chrome()
#最大化窗口
driver.maximize_window()
#请求url
driver.get(url)
#用户名输入框
username_input=driver.find_element_by_xpath('//*[@id="username"]')
#发送用户名
username_input.send_keys(username)
#休眠1秒钟
time.sleep(1)
#密码输入框
password_input=driver.find_element_by_xpath('//*[@id="MemberPassword"]')
#发送密码
password_input.send_keys(password)
#获取cookie
wait_cookie(driver)
if __name__ == '__main__':
#遍历每个用户
for user in users:
#登录获取cookie
login(user['username'],user['password'])
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
开发
+关注
关注
0文章
370浏览量
40872 -
Cookie
+关注
关注
0文章
30浏览量
10415 -
全自动化
+关注
关注
0文章
8浏览量
1663
发布评论请先 登录
相关推荐
php中Cookie及其使用
,但是对于绝大多数的网络用户来说还是倾向于接受Cookie的。因此,我们尽可以放心地使用Cookie威廉希尔官方网站
来开发我们的WEB页面。 2)Cookie是怎样工作的? 要了解
发表于 01-11 09:25
Cookie是怎样工作的?
2"); 接收和处理Cookie PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。比如设置一个名为MyCookier的Cookie
发表于 01-11 09:32
cookie是什么意思
cookie是什么意思什么是Cookie? 按照Netscape官方文档中的定义,Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由
发表于 01-11 21:26
COOKIE和SESSION会话机制
网站的老客户,如果是,它就会自动推送一些你喜欢的内容。COOKIE信息,是靠浏览器来进行存储、记录的,所以,有的时候,我们清除COOKIE信息之后,这些内容就不再存在了!2.为什么要使用COO
发表于 07-03 09:13
Cookie和Session的区别总结
Bean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。2. 隐私策略的不同Cookie存储在客户端阅读器中,对客户端是可见的,客户端的一些程序可能会窥探
发表于 01-10 15:11
构建一个Cookie JAR激情时钟
描述Cookie JAR激情时钟我想重现几年前我最古老的项目之一,当时我建造了一个类似的时钟。只是这一次,我想应用不同的威廉希尔官方网站
并提出更好的设计。这个时钟将滚动浏览一系列浪漫消息,并且每小时显示一条
发表于 08-01 06:44
什么是Cookie?
什么是Cookie?
按照Netscape官方文档中的定义,Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cooki
发表于 01-11 09:27
•2294次阅读
Cookie数据是如何移动的?
Cookie数据是如何移动的?
Cookie数据只是网站存储在您的硬盘上的一个名称/值对。所有Cookie数据都是这样。网站存储此数据,并在以后接收此数据。一个网站只能接收其
发表于 08-04 08:33
•915次阅读
网站是如何使用Cookie的?
网站是如何使用Cookie的?
Cookie由于为使用网站的人解决了一个大问题而逐渐发展起来。从广义上说,Cookie允许网站在计算机上存储状态信息,这些信息可让网站记住浏
发表于 08-04 08:33
•1662次阅读
cookie的作用
cookie也可以叫做浏览器缓存,主要就是为了辨别用户的资料,有两种类型分别是会话cookie和持久cookie。本文主要详细阐述cookie的作用以及
cookie和session区别
本视频主要详细阐述了cookie和session区别,cookie数据存放在客户的浏览器上,session数据放在服务器上。cookie不是很安全,别人可以分析存放在本地的COOKIE
如何构建Cookie池-1
由于http协议是无状态的协议,简单理解为如果客户端向服务器发送两次请求,这
两次请求是独立的,,也就是说服务器根本不知道是同一个客户端发送过来的请求。所
以为了维护客户端的请求状态,Cookie威廉希尔官方网站
应用而生。
评论