.net 模拟浏览器如何登陆_大厂爬虫工程师教你,如何用Python模拟登陆微博,太长见识了...

这里模拟登陆会用到selenium这个自动化测试的工具,先介绍一下这个工具。

247159fc89afb1a9a0f601a89fe702e9.png

selenium

selenium是一个web的自动化测试工具,最初是为网站自动化测试而开发的,selenium可以直接运行在浏览器上,它支持所有主流的浏览器,可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。

selenium的简单实用

首先selenium需要进行安装,安装比较简单。直接通过pip install selenium就可以了。

selenium安装完成之后还需要下载对应的驱动,这里需要一定要下载与浏览器对应的驱动,比如我的谷歌浏览器的版本是73.0.3683.103,那么就要下载对应版本的selenium的驱动,这里给大家两个网站。

selenium下载地址

http://chromedriver.storage.googleapis.com/index.html

Selenium对浏览器支持的版本

http://www.cnblogs.com/iceb/p/7195876.html

接下来以百度为例讲解selenium的简单使用

from selenium import webdriverimport timewd = webdriver.Chrome() # 设置窗口大小# wd.set_window_size(1280,800)# 全屏wd.maximize_window()# 输入网址wd.get('http://www.baidu.com')# 截图wd.save_screenshot("baidu.png")# 找到输入框kw = wd.find_element_by_id('kw')# 在输入框中输入酒店kw.send_keys("酒店")# 点击百度一下wd.find_element_by_id('su').click()time.sleep(3)wd.quit()

上面的案例中,如果没有把selenium添加到系统环境变量中程序会报错。这里可以指定路径来使用executable_path='./driver/chromedriver.exe'

模拟登陆微博PC端

driver = webdriver.Chrome()# 隐式等待driver.implicitly_wait(10)driver.set_window_size(1200,1000)driver.get('https://weibo.com/')# 填写账号driver.find_element_by_id('loginname').send_keys('账号')# 通过xpath找到密码的输入框driver.find_element_by_xpath("//div[@class='info_list password']/div/input").send_keys(pwd)# 通过xpath找到登陆按钮进行点击driver.find_element_by_xpath("//div[@class='info_list login_btn']/a").click()

这里账号密码可以写在配置文件中

加载配置文件

from configparser import ConfigParsertarget = ConfigParser()target.read('test.ini',encoding='utf-8')pwd = target.get('weibo','password')test.ini文件[weibo]password = '密码'

模拟登陆微博移动端

这里用PC端模拟移动端,可以用谷歌浏览器来模拟,F12打开控制台管理工具

1ae62d5c362b57bc539e88481fe590ab.png

移动端界面

接下来大家可以发现,移动端要比PC端简单的多,因为所有的标签都有ID。代码如下:

driver.get('https://passport.weibo.cn/signin/login')driver.find_element_by_id('loginName').send_keys('账号')driver.find_element_by_id('loginPassword').send_keys(pwd)driver.find_element_by_id('loginAction').click()driver.find_element_by_id("getCode").click()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值