记录自用python selenium 取cookie免登陆小技巧
本帖最后由 vsyour 于 2019-7-19 11:33 编辑有了cookie网站就不需要登陆了。
对于那些有验证码的网站利用cookie登陆还是一个比较省时省力的办法。
代码如下:
# coding:utf-8
from fake_useragent import UserAgent
from selenium import webdriver
from bs4 import BeautifulSoup
import time
import datetime
ua = UserAgent()
def kanxue_Chrome():
loginUrl = r'https://passport.kanxue.com/user-login.htm'
# 进入浏览器设置
options = webdriver.ChromeOptions()
# 设置中文
options.add_argument('lang=zh_CN.UTF-8')
# 更换头部
useragent = ua['google chrome']
options.add_argument('"%s"' % useragent)
browser = webdriver.Chrome(chrome_options=options,executable_path=r'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe')
browser.get(loginUrl)
time.sleep(50)# 程序走到这里时暂停,登陆网页后得到cookie
print('cookie:-->start'.center(130, '*'))
for cookie in browser.get_cookies():
#print("%s -> %s" % (cookie['name'], cookie['value']))
tip='''browser.add_cookie({'name': '%s', 'value': '%s'})'''% (cookie['name'],cookie['value'])
print(tip)
print('cookie:-->End'.center(130, '*'))
# 将生成的cookies 直接加入就行了
if __name__ == '__main__':
kanxue_Chrome()
20190719 更新
# coding:utf-8
'''
获取网站cookie信息
'''
from selenium import webdriver
import time
# from fake_useragent import UserAgent
# ua = UserAgent()
class GetCookie:
def __init__(self):
pass
def chrome(self, url):
# 进入浏览器设置
# options = webdriver.ChromeOptions()
# 设置中文
# options.add_argument('lang=zh_CN.UTF-8')
# options.add_argument('lang=en_US.UTF-8')
# 更换头部
# useragent = ua['google chrome']
# options.add_argument('"%s"' % useragent)
# browser = webdriver.Chrome(chrome_options=options,executable_path=r'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe')
browser = webdriver.Chrome(
executable_path=r'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe')
browser.get(url)
time.sleep(20)# 程序走到这里时暂停,登陆网页后得到cookie
print('cookie:-->start'.center(130, '*'))
for cookie in browser.get_cookies():
# print("%s -> %s" % (cookie['name'], cookie['value']))
tip = '''browser.add_cookie({'name': '%s', 'value': '%s'})''' % (cookie['name'], cookie['value'])
print(tip)
print('cookie:-->End'.center(130, '*'))
# 将生成的cookies 直接加入就行了
def firefox(self, url):
browser = webdriver.Firefox(executable_path=r'C:\Anaconda3\geckodriver.exe')
browser.get(url)
time.sleep(20)# 程序走到这里时暂停,登陆网页后得到cookie
print('cookie:-->start'.center(130, '*'))
for cookie in browser.get_cookies():
# print("%s -> %s" % (cookie['name'], cookie['value']))
tip = '''browser.add_cookie({'name': '%s', 'value': '%s'})''' % (cookie['name'], cookie['value'])
print(tip)
print('cookie:-->End'.center(130, '*'))
if __name__ == '__main__':
# 实例化
getCookie = GetCookie()
# 用chrome获取cookie
#getCookie.chrome('https://www.taobao.com')
# 用 firefox 获取cookie
getCookie.firefox('https://www.taobao.com')
zyjia 发表于 2019-5-1 11:38
如何加已有的cookie,给一个完整的代码,可以吗?最好是吾爱破解的,谢谢。
# coding:utf-8
from fake_useragent import UserAgent
from selenium import webdriver
from bs4 import BeautifulSoup
import time
import datetime
ua = UserAgent()
def kanxue_Chrome():
loginUrl = r'https://www.52pojie.cn/'
# 进入浏览器设置
options = webdriver.ChromeOptions()
# 设置中文
options.add_argument('lang=zh_CN.UTF-8')
# 更换头部
useragent = ua['google chrome']
options.add_argument('"%s"' % useragent)
#browser = webdriver.Chrome(chrome_options=options,executable_path=r'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe')
browser = webdriver.Chrome(chrome_options=options)
browser.get(loginUrl)
time.sleep(50)# 程序走到这里时暂停,登陆网页后得到cookie
# print('cookie:-->start'.center(130, '*'))
# for cookie in browser.get_cookies():
# #print("%s -> %s" % (cookie['name'], cookie['value']))
# tip='''browser.add_cookie({'name': '%s', 'value': '%s'})'''% (cookie['name'],cookie['value'])
# print(tip)
# print('cookie:-->End'.center(130, '*'))
# 将生成的cookies 直接加入就行了
browser.add_cookie({'name': 'htVD_2132_noticeTitle', 'value': '1'})
browser.add_cookie({'name': 'htVD_2132_checkpm', 'value': '1'})
browser.add_cookie({'name': 'htVD_2132_lastact', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_onlineusernum', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_nofavfid', 'value': '1'})
browser.add_cookie({'name': 'htVD_2132_lastvisit', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_ttask', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_connect_is_bind', 'value': '1'})
browser.add_cookie({'name': 'htVD_2132_lip', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_auth',
'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_pc_size_c', 'value': '0'})
browser.add_cookie({'name': 'htVD_2132_lastcheckfeed', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_saltkey', 'value': '改成你自己的'})
browser.add_cookie({'name': 'Hm_lpvt_46d556462595ed05e05f009cdafff31a', 'value': '改成你自己的'})
browser.add_cookie({'name': 'htVD_2132_ulastactivity', 'value': '改成你自己的'})
browser.add_cookie({'name': 'Hm_lvt_46d556462595ed05e05f009cdafff31a', 'value': '改成你自己的'})
browser.add_cookie({'name': '_uab_collina', 'value': '改成你自己的'})
if __name__ == '__main__':
kanxue_Chrome() sitiger 发表于 2019-4-17 22:06
貌似不全啊
登陆账号后就会生成出加cookie的代码,然后把生成出来的代码放到你的脚本中,这样等待的那部份就能注释掉了。
就不需要去一个个复制那么麻烦了。。
哈哈这个感觉不太好表达,不知道你明白我的意思没。。。你试试看吧。
顶一个,需要这样的分享 谢谢分享 selenium最大的问题是浏览器要和引擎版本匹配,否则起不来。 貌似不全啊 ellada 发表于 2019-4-17 22:03
selenium最大的问题是浏览器要和引擎版本匹配,否则起不来。
是的,这是经常会碰到的问题.
我一般是会到这里找对应的版本放进去就不会有问题了.
https://sites.google.com/a/chromium.org/chromedriver/downloads
楼主 这个适用京东cookie登录吗
fengwolf3 发表于 2019-4-18 11:21
楼主 这个适用京东cookie登录吗
京东也是适合的 调用了看不懂得模块 头好大 脑阔痛。。
页:
[1]
2