Python学习二:使用Python实现在QQ空间批量点赞

Python学习二:使用Python实现在QQ空间批量点赞_第1张图片
bethany-legg-9248-unsplash.jpg

好吧,不得不承认这周末又在家里宅了2天,每天都睡到太阳光刺眼的时候才起来.还记得出去的最远的距离是我小区大门口的小卖部.饥饿驱使着我拖着这一身的皮囊蠕动到超市,我的天呐,我都佩服我自己.浑浑噩噩的两天又过去了.

关于学习Python

关于学习Python我建议还是得系统的学习基础知识和一些必须知道的模块才行,不能一直这样东拼西凑的去学东西.可是对于我这种自制力不强的人,总要想办法每天产生一些内容才行(尽管这些内容不是我原创的,啊哈哈哈),要不然我会觉得我对不起我今天吃的饭(虽然我只吃了一顿饭而已)

周末在网上搜了一个小demo,是用来学习Python的,用它来实现QQ空间的批量点赞,代码量很少.于是便爬起来去学习一下.感谢楼主的代码,让我也能学习 在此附上源文章地址

开始撸代码

首先是按照源代码去抄,这没什么难度的.导入一下需要用的模块,需要注意的是看清大小写.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

因为源代码不是很多,贴出来全部的代码

options = webdriver.ChromeOptions()

options.add_argument('user-agent=Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36')

browser = webdriver.Chrome('/usr/local/bin/chromedriver', options=options)
browser.get('https://qzone.qq.com/')
browser.implicitly_wait(2)

# 输入QQ号
browser.find_element_by_id('u').send_keys('这里填写你的QQ账号')
# 输入QQ密码
browser.find_element_by_id('p').send_keys('这里填写你的QQ密码')
browser.find_element_by_id('go').click()
# 等待10秒手动解决验证码
time.sleep(10)

while True:
    try:
        like = browser.find_element_by_xpath('//button[text()="赞"]')
        top = int(like.location['y'])
        browser.execute_script('document.documentElement.scrollTop={}'.format(top))
        ActionChains(browser).move_to_element(like).click().perform()


    except Exception as e:
        browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
        load_most = browser.find_element_by_xpath('//button[text()="加载更多"]')
        print(load_most)
        ActionChains(browser).move_to_element(load_most).click().perform()

以上是全部源代码,尽管完全看着别人的代码去写但是还有很多错误和问题.我把我遇见的问题罗列出来,以方便记

问题一

这是一个很低级蛋疼的问题,因为字母大小写的问题导致.修改为options = webdriver.ChromeOptions()即可.因为ChromeOptions类名首字母是大写,群里也有人建议多用代码提示.tab键

image.png

问题二

这个问题比较复杂,百度了一下是说因为没有安装ChromeDriver的原因.解决办法也很简单啊,安装就行了,需要注意的是楼主写的关于ChromeDriver的路径需要修改为自己ChromeDriver的安装路径
安装方法:

  • 首先查看自己的谷歌浏览器的版本需要下载哪个版本的(在此附上前辈写的博客)https://blog.csdn.net/huilan_same/article/details/51896672
  • 然后百度搜到ChromeDriver的下载地址http://chromedriver.storage.googleapis.com/index.html根据自己的系统下载相应的版本
  • 最后安装的时候,因为我用的Mac,所以跟Windows的安装路径不一致,
    • 将解压的文件存在 mac下存放在/usr/local/bin目录下
    • Windows是存放于Python的根目录下,这样就可以不用指明Chrome的位置直接引用webdriver.Chrome()。
    • (当然,存放在其他环境变量位置也是可以的)这也是为什么源代码作者在写browser = webdriver.Chrome('./chromedriver', options=options)因为是在根目录下面,而我写的是browser = webdriver.Chrome('/usr/local/bin/chromedriver', options=options)
4D416E85-309F-41F5-BB32-80F766F891E5.png
问题三

在运行到最后一页的时候,如果下一页加载不出来的话,会崩溃掉.这个问题还没处理,放到后边消灭吧.

最后,在这段代码中我需要学习的是selenium模块的使用,他的 功能强大之处还有很多,需要慢慢学.其实很多废话没什么可写的,也不知道自己为什么要写.

如果说要系统的学习Python的话,网络上有很多教程,完全可以跟着学习.问题是是否能坚持到最后,为了弥补我周末懒惰的内疚,我把我收集的学习资料分享一下吧.好让我也心安理得一下吧.

21天搞定Python爬虫:
链接: https://pan.baidu.com/s/1HvWysdrUGzWbRPEoKL4pyg 提取码: prhi

这个是我比较喜欢的教程,比较全面:
链接: https://pan.baidu.com/s/19flPVwkUdGC0iZQtCQKuNg 提取码: vyhi


我住隔壁我姓王,有事请找我帮忙.

你可能感兴趣的:(Python学习二:使用Python实现在QQ空间批量点赞)