python selenium如何登录微博

498次阅读
没有评论

python

在我们用爬虫采集信息之前,需要进行一个登录的操作进入网页,不然就会被网站认为是爬虫而阻拦在外,相当于我们需要给爬虫准备一个进入网站的通行证。除了我们最近老生常谈的cookie方法,其实我们还有selenium同样可以达到爬虫登录的效果。具体的模拟方法,我们以微博为例,在下面的代码中为大家展示。

 

selenium是一个用于Web应用程序测试的工具,同时我们也可以通过 selenium 实现登录功能。以微博为例

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://weibo.com/")
username = driver.find_element_by_css_selector("input#loginname")
username.clear()
username.send_keys('your_username')
password = driver.find_element_by_css_selector('span.enter_psw')
password.clear()
password.send_keys('your_password')

 

在输入账号和密码后,最大的问题来了,验证码都是图片,一般我们要借助图像识别才能识别验证码,但是由于验证码的种类非常多(英文、数字、中文或者它们的混合),而且验证码还可能被一定的旋转、扭曲甚至互相粘连,以至于人眼也不能很好的辨认,因此大多数模型的通用性和准确率并不是很高。因此效率最高的方法就是在selenium打开浏览器之后手动登录(过程中调用time.sleep()暂停程序)。因为对于爬虫来说最重要的不是解决登录问题,因此这么做可以节约大量的时间以及代码量,虽然很蠢,但是很有用。

 

完成登录后,用一下代码即可获取cookie,并把cookie_dict传给pyspider全局参数中的cookies即可

cookies_dict = {}
cookies = driver.get_cookies()for cookie in cookies:
    cookies_dict[cookie['name']] = cookie['value']

 

完成以上的操作后,下一步的数据采集想必小伙伴们都不成问题了。通过代码体验,小编觉得selenium的登录方法也比较简单,python小白可以多尝试下。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-20发表,共计1022字。
新手QQ群:570568346,欢迎进群讨论 Python51学习