不用抓包直接使用Selenium模拟登录新浪微博。
发布日期:2022-02-22 18:04:23 浏览次数:16 分类:技术文章

本文共 1054 字,大约阅读时间需要 3 分钟。

我们在常用的浏览器上登录新浪微博时,并不需要输入账号和密码。这是因为浏览器自身储存了cookie,避免了再次登录重复输入密码的繁琐。而使用Selenium本来就要安装浏览器驱动。所以只要一个driver.get_cookies()函数就可以获得cookie。

首先,我们要先模拟登录一次微博:

#登录微博driver = webdriver.Chrome()driver.get('https://weibo.com/')time.sleep(5)#输入账号driver.find_element_by_xpath('//input[@id="loginname"]').send_keys('username')#输入密码driver.find_element_by_xpath('//input[@name="password"]').send_keys('password')#点击登录driver.find_element_by_xpath('//a[@class="W_btn_a btn_32px"]').click()time.sleep(5)#获取cookiecookie = driver.get_cookies()print (type(cookie))print (cookie)

此时,我们就获得了浏览器的cookie。这个cookie是一个含有18个字典的列表,每个字典中又有7个元素:

{"domain": ".weibo.com", "expiry": xxxxxxxx, "httpOnly": False, "name": "un", "path": "/", "secure": False, "value": "xxxxxxx"}
然后,我们只要使用driver.add_cookie()把这18个字典添加到driver的cookie中去就可以了。
# 一、打开网页driver = webdriver.Chrome()driver.get('http://weibo.com')# 二、删除cookiedriver.delete_all_cookies()# 三、添加上一步骤获得的cookiecookielist = [{字典},....,{字典}]for cookie in cookielist:    driver.add_cookie(cookie)# 四、刷新页面,即可登录driver.refresh()
快试试看吧,是不是比Finder抓包方便了许多?

转载地址:https://blog.csdn.net/earth9/article/details/80001451 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:专业文科30年零基础学神经网络TensorFlow
下一篇:自己动手用Python3+Requests库写百度翻译API

发表评论

最新留言

很好
[***.229.124.182]2024年04月20日 05时17分48秒