Python网络爬虫之如何通过selenium模拟浏览器登录微博
微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录。
首先我们需要安装selenium,通过pip安装:
``` pip install selenium
```
然后我们需要下载一个浏览器驱动,推荐使用Chrome,下载地址:http://chromedriver.storage.googleapis.com/index.html,下载好后解压放到Python安装目录下的Scripts文件夹里面。
接下来我们通过代码来模拟登录微博:
```python from selenium import webdriver
driver = webdriver.Chrome() driver.get("https://weibo.com/")
输入用户名密码 driver.find_element_by_id("loginname").send_keys("username") driver.find_element_by_xpath('//*[@id="pl_login_logged"]/div/div[3]/div[2]/div/input').send_keys("password")
点击登录按钮 driver.find_element_by_xpath('//*[@id="pl_login_logged"]/div/div[3]/div[6]/a').click()
```
代码很简单,首先我们通过selenium的webdriver来控制浏览器,然后通过get方法打开微博首页,接着输入用户名密码,最后点击登录按钮即可。
通过以上代码我们可以模拟登录微博,如果遇到微博登录界面有验证码,我们可以通过打码平台来解决,比如云打码平台,代码示例:
```python from selenium import webdriver from yundama_api import identify
验证码打码平台用户名密码 username = "username" password = "password"
打码平台分配的appid与secret appid = "123456" secret = "abcdefg"
driver = webdriver.Chrome() driver.get("https://weibo.com/")
输入用户名密码 driver.find_element_by_id("loginname").send_keys("username") driver.find_element_by_xpath('//*[@id="pl_login_logged"]/div/div[3]/div[2]/div/input').send_keys("password")
点击登录按钮
顺便介绍一下我的另一篇专栏, 《100天精通Python - 快速入门到黑科技》专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架;黑科技应用篇以实战为主,包括办公效率小工具、爬虫、数据分析、机器学习、计算机视觉、自然语言处理、数据可视化等等,让你会用一段简单的Python程序,自动化解决工作和生活中的问题,甚至成为红客。
🍅 订阅福利:原价299,限时1折订阅专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导/学习方法指引),群里大佬可以抱团取暖(大厂/外企内推机会)
🍅 订阅福利:简历指导、招聘内推、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
🍅 专栏地址: 点击《100天精通Python - 快速入门到黑科技》