你是否曾经遇到那个她?让你至今难忘,却又错过了?如果有,小编今天就教了爬取她的QQ空间的说说,如果没有,那也没有关系,小编我陪你哈哈,那你可以爬取你自己的QQ空间

在金庸小说里面其实最喜欢的还是天龙八部,还有射雕英雄传,传说中女孩遇上杨过会误终身,也确实,杨过那么帅气,又是大侠,但是杨过遇上小龙女也误了终身,哈哈

太伤感了,不谈太多感情的事情,免得勾起太多回忆,回忆过去,痛苦的相思忘不了,为何你还来拨动我心跳啊

好了,废话少说,小编我就来带你爬取你喜欢的人的QQ空间的说说,我来分析一下,最近这些年,她过的还好?说说里面都有什么话?或许你看到这些说说你就会安心了,也许也会死心了

我在爬取QQ说说时候,我们需要我们的账号密码,然后点击登录按钮就登录进来我们的 QQ 空间了,然后我们要看看我们自己的说说需要滑动到最后,然后点击下一下,再看到下一页的信息

嗯,不过几分钟的时间,我就登录进来我自己的QQ空间了,好干净啊,我还是蛮喜欢QQ的,因为QQ承载着我许多中学的回忆,我会一直保留着自己的QQ号,直到死亡那一刻画上句号

首先我们需要一个自动化爬取工具就是  selenuim 用来打开 chrome 浏览器

from selenium import webdriver

实现自行登录

#获取浏览器驱动
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
#driver = webdriver.Chrome()
# 浏览器窗口最大化
#driver.maximize_window()# 浏览器地址定向为qq登陆页面
driver.get("http://i.qq.com")# 所以这里需要选中一下frame,否则找不到下面需要的网页元素
driver.switch_to.frame("login_frame")# 自动点击账号登陆方式
driver.find_element_by_id("switcher_plogin").click()# 账号输入框输入已知qq账号
driver.find_element_by_id("u").send_keys(user)# 密码框输入已知密码
driver.find_element_by_id("p").send_keys(pw)# 自动点击登陆按钮
driver.find_element_by_id("login_button").click()# 让webdriver操纵当前页
driver.switch_to.default_content()# 跳到说说的url, friend你可以任意改成你想访问的空间
driver.get("http://user.qzone.qq.com/" + friend + "/311")

然后登录成功之后,就是模拟人的一系列操作,首先是一页一页的看QQ空间的说说,那我们爬取也是模拟人点击下一页,下一页的爬取QQ空间的说说

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)# 很多时候网页由多个<frame>或<iframe>组成,webdriver默认定位的是最外层的frame,# 所以这里需要选中一下说说所在的frame,否则找不到下面需要的网页元素driver.switch_to.frame("app_canvas_frame")selector = etree.HTML(driver.page_source)divs = selector.xpath('//*[@id="msgList"]/li/div[3]')#这里使用 a 表示内容可以连续不清空写入with open('qq_word.txt','a', encoding='utf-8') as f:for div in divs:qq_name = div.xpath('./div[2]/a/text()')qq_content = div.xpath('./div[2]/pre/text()')qq_time = div.xpath('./div[4]/div[1]/span/a/text()')qq_name = qq_name[0] if len(qq_name)>0 else ''qq_content = qq_content[0] if len(qq_content)>0 else ''qq_time = qq_time[0] if len(qq_time)>0 else ''print (qq_name,qq_time,qq_content)f.write(qq_content+"\n")# 当已经到了尾页,“下一页”这个按钮就没有id了,可以结束了if driver.page_source.find('pager_next_' + str(next_num)) == -1:break# 找到“下一页”的按钮,因为下一页的按钮是动态变化的,这里需要动态记录一下driver.find_element_by_id('pager_next_' + str(next_num)).click()# “下一页”的idnext_num += 1# 因为在下一个循环里首先还要把页面下拉,所以要跳到外层的frame上driver.switch_to.parent_frame()

接下来我们就来运行一下代码吧,看看效果

python shuoshuo.py '朋友的QQ号' '你自己的QQ号' '你自己的QQ登录密码'

结果我就登录进来了

我们先在当前目录下新建一个爬取QQ说说之后的文本文件保存为

qq_word.txt

好了至此,我们就算爬完QQ空间好友的说说了,明天带领大家进行词云分析

拿去不谢,记得关注我,点赞哦,给加腿腿吧,想要源码直接后台关注我,回复'进群',加我微信,我直接发源码给你,有问题还可以找我解答哦,拿走不谢

爬虫(102)年少遇她误终身?相关推荐

  1. 中青评论:家政本科招生难,专业名字误终身?

    家政本科招生难,除了社会对家政学的理解存在偏差,更说明家政教育的定位需要明确.如果家政专业只是单纯地教学生如何做家政劳动,那么是否值得花费大学4年时光去学习,有待考量. 摘要 中青评论 家政本科招生难 ...

  2. 风陵渡口初相遇,一见杨过误终身

    风陵渡口初相遇,一见杨过误终身 郭襄初遇杨过时,杨过戴着丑陋的人皮面具,只道她心中所想的风流儒雅的神雕侠原来是如此丑陋之人.再细看他一眼.却见杨过一双眸子精光四射,英气逼人,"郭襄心口一阵发 ...

  3. “一见杨过误终身” ——体验式营销,你也可以创造传奇_营销人论坛

    "风陵渡口初相遇,一见杨过误终身.只恨我生君已老,断肠崖前忆故人." 看过<神雕侠侣>的,大家都知道,是凡是见过杨过的女子,几乎都沦陷了,对他都是一见钟情,而且为了他要 ...

  4. 选错导师误终身?Nature大调查显示 :全球1/4博士生想换导师

    来源:新智元.Nature 转载自:科研大匠 "如果可以再来一次,我将重新选择导师." 在Nature的一次对全球6300名博士的调查中,有将近四分之一博士生这么说. Nature ...

  5. 黑科技!当会爬虫的Python遇上会画图的FineBI……

    我们平时在用Python爬取网页上的数据时,对爬取到到的数据做数据分析展现有很多种方式,比如可以通过echart图表接口.python提供的第三方库,甚至还可以用matlab工具来进行数据统计和图表可 ...

  6. 林燕妮: 一见杨过误终生

    (一) 遇上一个很有魅力.令自己魂牵梦萦的人,是毕生的安慰,然而,得不到他,却是毕生的遗憾,除却巫山不是云,没有人比他更好,可是,他却永远不能属於自己,那唯有拥着他的记忆过一生了!程英.陆无双.公孙绿 ...

  7. 《神雕侠侣》——一见杨过误终生,格格一笑很倾城

    拜读完金庸大侠的<神雕侠侣>,脑海中隐现着小时候各版的<神雕>电视剧片段.不禁感慨万千. 风陵渡口初相遇, 一见杨过误终身. 只恨我生君已老, 断肠崖前忆故人. 这首诗中吐露的 ...

  8. 十分钟解决爬虫问题!超轻量级反爬虫方案

    本文将描述一种尽量简单的反爬虫方案,可以在十几分钟内解决部分简单的爬虫问题,缓解恶意攻击或者是系统超负荷运行的状况:至于复杂的爬虫以及更精准的防御,需要另外讨论. 爬虫和反爬虫日益成为每家公司的标配系 ...

  9. Python爬虫工程师 3个月成为网络爬虫工程师

    攻城狮整理网易云课堂<Python爬虫工程师 3个月成为网络爬虫工程师> 1.平均薪资高 入行爬虫工程师薪资可达15w 高级爬虫工程师薪资可达30w 2.入行门槛低 从事爬虫工程师职位最多 ...

最新文章

  1. Java项目:在线拍卖竞价系统(java+SpringBoot+FreeMarker+Mysql+redis)
  2. hmm 求隐藏序列_统计学习方法--HMM回顾
  3. sql server 根据身份证号计算出生日期和年龄的存储过程
  4. 将fork出来的分支与原项目合并
  5. 【渝粤教育】电大中专学前儿童科学教育 (5)作业 题库
  6. jpa transaction 回滚_我遇到的JPA中事务回滚的问题
  7. 读书笔记 - 《软件业的成功奥秘》
  8. 案例篇-HBase 实战之 MOB 使用指南
  9. POJ1039+几何+直线于线段相交
  10. 思科路由器如何导出配置文件_如何备份cisco路由器配置文件
  11. 【Java面试题】线程的生命周期包括哪几个阶段?
  12. dnf超时空漩涡副本路线流程图_DNF超时空漩涡副本怎么过_DNF超时空漩涡副本快速达成图文攻略...
  13. 在c语言中整数除以0,整数除零在哪些平台上触发浮点异常?
  14. 苹果android wear教程,Android Wear/Apple Watch/WatchKit智能手表开发入门教程
  15. 发票查验|身份证实名认证增强版API开发文档
  16. Linux文件系统与持久性内存介绍
  17. 【科软课程-信息安全】Lab12 SQL Injection Attack
  18. Swagelok SS-62TF4-31C-GC
  19. Ubuntu进不去图形化界面的解决方案
  20. js 数组遍历符合条件跳出循环体_Js数组遍历方法对比总结

热门文章

  1. 无人驾驶工程师学习笔记(八)——Magnitude of the Gradient
  2. 【Python深度学习】Python全栈体系(三十五)
  3. JAVA类之间方法的调用
  4. 不用找,你想要的叶子 树叶免抠元素素材都在这里
  5. TCP/IP RFC
  6. 【c语言】 指针 字符串赋值
  7. java 泛型方法 调用_java_泛型方法使用实例
  8. .net,我真的需要你?
  9. 国务院通知明确2008年节假日具体安排
  10. 华为/荣耀手机开发者常用设置