python 爬虫 利用selenium模拟登录帐号 向requests中重设 cookie
2016-11-22 14:44
1306 查看
文章解决问题:
1、利用selenium模拟登录
2、获取模拟登录后的cookie
3、将cookie保存在python 的 requests中,做进一步的爬取工作。
具体步骤代码:
1、利用selenium模拟登录:
driver =webdriver.PhantomJS(executable_path="phantomjs.exe")
driver.get(self.login_url)
ck1 = self.driver.get_cookies()
elem_user = self.driver.find_element_by_xpath('//input[@id="loginname"]')
elem_user.send_keys('bzmcy@126.com')
time.sleep(1)
elem_pwd = self.driver.find_element_by_xpath('//input[@id="nloginpwd"]')
elem_pwd.send_keys('32mcymcymcy')
time.sleep(1)
elem_sub = self.driver.find_element_by_xpath('//div[@class="login-btn"]/a[@id="loginsubmit"]').click() #
time.sleep(3)
url = self.driver.current_url
if url!=self.login_url:
print "登录成功。"
2、获取模拟登录后的cookie,3、将cookie保存在python 的 requests中,做进一步的爬取工作:
cookie =[item["name"] + ":" + item["value"] for item in driver.get_cookies()]
cookiestr = ';'.join(item for item in cookie)
cook_map = {}
for item in cookie :
str = item.split(':')
cook_map[str[0]] = str[1]
print cook_map
cookies = requests.utils.cookiejar_from_dict(cook_map, cookiejar=None, overwrite=True)
self.session.cookies = cookies
参考文章:http://blog.csdn.net/falseen/article/details/46962011
http://blog.csdn.net/warrior_zhang/article/details/50198699
文章解释:
请先阅读参考文章内容,有一定基础后,参考本文。
1、利用selenium模拟登录
2、获取模拟登录后的cookie
3、将cookie保存在python 的 requests中,做进一步的爬取工作。
具体步骤代码:
1、利用selenium模拟登录:
driver =webdriver.PhantomJS(executable_path="phantomjs.exe")
driver.get(self.login_url)
ck1 = self.driver.get_cookies()
elem_user = self.driver.find_element_by_xpath('//input[@id="loginname"]')
elem_user.send_keys('bzmcy@126.com')
time.sleep(1)
elem_pwd = self.driver.find_element_by_xpath('//input[@id="nloginpwd"]')
elem_pwd.send_keys('32mcymcymcy')
time.sleep(1)
elem_sub = self.driver.find_element_by_xpath('//div[@class="login-btn"]/a[@id="loginsubmit"]').click() #
time.sleep(3)
url = self.driver.current_url
if url!=self.login_url:
print "登录成功。"
2、获取模拟登录后的cookie,3、将cookie保存在python 的 requests中,做进一步的爬取工作:
cookie =[item["name"] + ":" + item["value"] for item in driver.get_cookies()]
cookiestr = ';'.join(item for item in cookie)
cook_map = {}
for item in cookie :
str = item.split(':')
cook_map[str[0]] = str[1]
print cook_map
cookies = requests.utils.cookiejar_from_dict(cook_map, cookiejar=None, overwrite=True)
self.session.cookies = cookies
参考文章:http://blog.csdn.net/falseen/article/details/46962011
http://blog.csdn.net/warrior_zhang/article/details/50198699
文章解释:
请先阅读参考文章内容,有一定基础后,参考本文。
相关文章推荐
- python 利用selenium模拟登录帐号验证网站并获取cookie
- python 利用selenium模拟登录帐号验证网站并获取cookie
- [python 爬虫学习]利用cookie模拟网站登录
- Python爬虫(四)——模拟登录imooc实战(利用cookie)
- 【Python3.6爬虫学习记录】(八)Selenium模拟登录新浪邮箱并发送邮件
- 利用selenium 3.7和python3添加cookie模拟登陆的实现
- python3爬虫 - 利用浏览器cookie登录
- python爬虫设置cookie模拟登录微博方法
- Python爬虫基础——利用cookie实现模拟登陆
- Python爬虫获取cookie:利用selenium
- python实现简单爬虫模拟登录淘宝(cookie简介)
- python 利用浏览器 Cookie 模拟登录的用户访问知乎
- Python爬虫——5-2.使用selenium和phantomjs模拟QQ空间登录
- Python3爬虫之五网页下载器的几种方法【Python使用cookie模拟登录CSDN】
- python3爬虫 - 利用浏览器cookie登录
- [Python爬虫]利用Selenium等待Ajax加载及模拟自动翻页,爬取东方财富网公司公告
- Python爬虫利用cookie实现模拟登陆实例详解
- python3爬虫 - 利用浏览器cookie登录
- python爬虫 利用cookie登录人人网