(原创)添加QQ好友日期爬虫02——模拟登陆拿Cookies

思路:

  • 通过selenium + chrome浏览器模拟登陆
  • 注意项:切换登陆框架

   (这里我先假设你已经安装好了模拟浏览器的环境了,配置好运行需要的环境了)

进入登陆login_url = "https://i.qq.com/"

browser = webdriver.Chrome()
browser.get(login_url)

  • *特别注意:登陆后一定要切换到登陆框架,不然通过查找规则将找不到找到相关按钮
browser.switch_to.frame(browser.find_element_by_xpath('//iframe[@id="login_frame"]'))

登陆模块代码:

def Login(UserName,PassWd):
	'''
	return browser
	'''
	browser = webdriver.Chrome()
	browser.get(login_url)
	browser.switch_to.frame(browser.find_element_by_xpath('//iframe[@id="login_frame"]'))
	time.sleep(1)
	l_btn01 = browser.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
	time.sleep(1)
	browser.find_element_by_xpath("//input[@id='u']").send_keys(UserName)
	time.sleep(1)
	browser.find_element_by_xpath('//input[@id="p"]').send_keys(PassWd)
	time.sleep(1)
	browser.find_element_by_xpath('//input[@class="btn"]').click()
	time.sleep(1)
	browser.switch_to_default_content()   # 切出
	time.sleep(9)
	return browser

获得Cookies函数:

  • 注意
  •     browser.get_cookies()还回的是如下结构的字典列表,我们需要提取自己需要的key-value拼接成Cookies
  •      [{'domain': '.qq.com', 'expiry': 21473xxxx, 'httpOnly': False, 'name': 'pgv_pvi', 'path': '/', 'secure': False, 'value': '178xxxx'}]
  •     cookie_items:  =>name ,values
     
def get_cookies(browser):
	cookie_items = browser.get_cookies()
	print(cookie_items)
	post={}
	for cookie_item in cookie_items:
		post[cookie_item['name']] = cookie_item['value']
	cookies_dict_str = json.dumps(post)
	cookies_dict = eval(cookies_dict_str)
	cookie_str = ""
	for key in cookies_dict:
		value = cookies_dict[key]
		str1 = key + "=" + value
		cookie_str =cookie_str + str1 + ";"
	return cookie_str

至此,我们便可到常见的cookies

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值