跳转到主内容
极星编程网:以代码为星,赴技术山海!

python爬取网页版QQ空间,生成各类图表

目录

github源码地址:

各类图表的实现效果爬取的说说内容个性化说说内容词云图每年发表说说总数柱状图、每年点赞和评论折线图7天好友动态柱状图、饼图使用方法主要代码

github源码地址:

https://github.com/kuishou68/python各类图表的实现效果

爬取的说说内容

个性化说说内容词云图

每年发表说说总数柱状图、每年点赞和评论折线图

7天好友动态柱状图、饼图

使用方法按照你的谷歌浏览器下载指定版本的驱动http://chromedriver.storage.googleapis.com/index.html

驱动跟两个python脚本放入同目录,我的版本是90.0.4430的,查看你自己的版本,下载后把我的chromedriver.exe替换掉!

这里用到了很多第三方包,鼠标放在报红的包名下,用Alt+Enter导包,如果失败则在控制台用下面的必杀技pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

主要代码qq空间txt.pyimport time from selenium import webdriver from lxml import etree

# 这里一定要设置编码格式,防止后面写入文件时报错

friend = '1569339843' # 朋友的QQ号,朋友的空间要求允许你能访问user = '783533896' # 你的QQ号pw = '1323mkoNJI.@' # 你的QQ密码

# 获取浏览器驱动chrome_driver = 'chromedriver.exe'driver = webdriver.Chrome(executable_path=chrome_driver)

# 浏览器窗口最大化driver.maximize_window()

# 浏览器地址定向为qq登陆页面driver.get("http://i.qq.com")

# 所以这里需要选中一下frame,否则找不到下面需要的网页元素driver.switch_to.frame("login_frame") time.sleep(3)# 自动点击账号登陆方式driver.find_element_by_id("switcher_plogin").click() time.sleep(3)# 账号输入框输入已知qq账号driver.find_element_by_id("u").send_keys(user) time.sleep(5)# 密码框输入已知密码driver.find_element_by_id("p").send_keys(pw) time.sleep(5)# 自动点击登陆按钮driver.find_element_by_id("login_button").click() time.sleep(5)# 让webdriver操纵当前页driver.switch_to.default_content() time.sleep(5)# 跳到说说的url, friend你可以任意改成你想访问的空间driver.get("http://user.qzone.qq.com/" + friend + "/311") time.sleep(5) next_num = 0 # 初始“下一页”的id

while True:# 下拉滚动条,使浏览器加载出动态加载的内容,# 我这里是从1开始到6结束 分5 次加载完每页数据for i in range(1, 6):height = 20000 * i # 每次滑动20000像素strWord = "window.scrollBy(0," + str(height) + ")"driver.execute_script(strWord) time.sleep(4)

# 很多时候网页由多个或