700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > qq修改实名认证已达上限_qq空间登陆 使用Phantomjs模拟登录QQ空间

qq修改实名认证已达上限_qq空间登陆 使用Phantomjs模拟登录QQ空间

时间:2023-05-14 05:52:18

相关推荐

qq修改实名认证已达上限_qq空间登陆 使用Phantomjs模拟登录QQ空间

在使用Python进行数据爬取的过程中,我们一般使用Selenuim自动化测试工具对需要进行登录验证和动态JS数据的站点进行爬取。而与Selenuim相对应的浏览器组件,为了方便起见,一般使用FireFox或Chrome。

网上有一些关于模拟登录QQ空间的方法,都是使用Selenuim+Firefox或其他浏览器,例如郑晓的这篇:/python-selenium-qzone-login.html

但Firefox或Chrome的内存占用极大,调用也会耗费一定的时间,有时候在机器性能有限的情况下,一旦访问量频繁,则会影响爬虫效率。

幸而,我们还可以使用Phantomjs这个基于WebKit的服务器端 JavaScript API无头浏览器来进行模拟登录:

代码如下:

fromselenuimimportwebdriver

# 设置Phantonjs路径

driver=webdriver.Phantomjs(executable_path="D:\\phantomjs.exe")

login_url='https://h5./mqzone/index'

driver.get(login_url)

time.sleep(3)

# 点击“继续打开触屏版”

driver.execute_script("var q=document.getElementById('guideSkip');q.click()")

driver.implicitly_wait(3)

# 填写登录信息

driver.find_element_by_id('u').clear()

driver.find_element_by_id('u').send_keys('QQ')

driver.find_element_by_id('p').clear()

driver.find_element_by_id('p').send_keys('密码')

# 登录

driver.execute_script("var login=document.getElementById('go');login.click();")

driver.implicitly_wait(3)

# 获取Cookie

cookie=driver.get_cookies()

最后,使用get_cookies()方法,获取QQ空间登录后的Cookie。因为在Phantomjs中,click()方法对于一些标签不是、的按钮无效,而QQ空间触屏版中的按钮大多数都不是标签,例如”继续打开触屏版”为标签,“登录”为

标签,所以在调用FireFox等浏览器中直接click()的方式不行,只得在driver中调用execute_script()方法,执行一段JS的点击事件,以进行跳转。

模拟登录成功之后,既可以继续在Phantomjs上直接进行数据爬取,也可以保存下Cookie,利用Cookie进行其他操作,就看个人取舍了。

●QQ头像 还不错的头像,qq头像

●动漫情头 动漫情侣头像大集合

●情侣头像真人一人一半 真人一人一张情头

●闺蜜头像三人 三人组闺蜜头像大合集

●实名认证修改申请网站 腾讯游戏王者荣耀、战场:健康系统实名认证修改方法

●五年级下册数学书答案 人教版五年级数学(下册)课本练习参考答案

●谷歌超清实时卫星地图>>>

●入党申请书最新版 入党志愿书范文五篇!

●六年级下册数学书答案 人教版六年级数学下册课本练习答案

●那一刻我长大了作文400字作文 那一刻我长大了优秀例文400字5篇

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。