python多线程爬取qq好友空间的留言
文章目录
- 前言
- 一、分析
- 1.获取cookie
- 2.分析含留言内容的url
- 二、代码与效果
- 1.源代码
- 2.效果展示
- 总结
前言
今天讲一下怎么样爬qq好友空间的留言
提示:以下是本篇文章正文内容,下面案例可供参考
一、分析
1.好友空间需要登陆才能获取,所以我们需要一个cookie
2.然后才能进行我们的一个爬虫
1.获取cookie
QQ空间登陆链接
进入后先摁下F12,再扫码或者账号密码登录空间。
进入空间后点击先Network,选择All,将滚轮滑到最上面,点击第一个含有你qq号的链接,右边出来以后往下滑找到cookie这里的cookie就是我们需要的了。
2.分析含留言内容的url
cookie有了我们就来分析好友留言板的链接。
进入好友空间,并点击留言板,摁下F12,选择XHR,然后把网页滑到最下面点击第二页加载完成后点击第三页然后右边name下就会出现类似的几个网页,这里我们需要的留言内容在一个get_msgb开头的链接下。
然后再回过头来比较他们的url,这里选择三个相邻的url来作比较。
这里呢我找到两个不同的地方,但是我发现第二个r=后面一串数字好像不加上也没问题,一样请求能得到响应。
那么就来看这第一个不同的地方,这一看是成倍数增长的,那么就可以确定他是(页数-1)*10得来的。
二、代码与效果
1.源代码
代码如下(示例):
# -!- coding: utf-8 -!-
import re
import time
import requests
from threading import Thread #多线程class Qqspider:def __init__(self):self.url = 'https://user.qzone.qq.com/proxy/domain/m.qzone.qq.com/cgi-bin/new/get_msgb?uin=#这里是你自己的账号#&hostUin=#好友的账号#&num=10&start={}&hostword=0&essence=1&iNotice=0&inCharset=utf-8&outCharset=utf-8&format=jsonp&ref=qzone&g_tk=1453454822&g_tk=1453454822' #这里的start一定要={}!!!记得复制粘贴的一定要修改!!!self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36','cookie':'写入自己空间的cookie',
}self.lis = []self.f = open('content1.txt','w',encoding='utf-8') #写入一个txt文本#请求函数def get_html(self,url):response = requests.get(url=url,headers=self.headers)return response#数据解析函数def parse_html(self,regex,html):content = regex.findall(html)for i in content:item = {}item['qq'] = i[0]item['name'] = i[1]item['content'] = i[2]self.f.write(i[1]+' >>> '+i[2]+'\n')print(item)#数据提取函数def crawl(self,i):while self.lis:response = self.get_html(self.lis.pop(0)).textregex = re.compile('"uin":(.*?),.*?"nickname":"(.*?)",.*?"capacity":.*?,.*?"htmlContent":".*?",.*?"ubbContent":"(.*?)",',re.S)self.parse_html(regex,response)print('{}完成一個!'.format(i))time.sleep(0.2)# 创建多线程def job(self): jobs = []for i in range(16):a = Thread(target=self.crawl,args=(i,))jobs.append(a)a.start()[i.join() for i in jobs]#主函数def run(self):for i in range(158): #空间留言的页数self.lis.append(self.url.format(i*10))self.job()self.f.close()if __name__ == '__main__':spider = Qqspider()spider.run()
2.效果展示
一共1575条留言,一条不差
总结
大家有什么不懂得地方可以私信我哦。要是有什么不对的地方还望大佬指出。
谢谢大家的点赞与阅读,
python多线程爬取qq好友空间的留言相关推荐
- python爬取加密qq空间_python3爬虫爬取QQ好友空间说说
开发环境Win10 python 3.6.3 pycharm 2018.1 第三方库csv requests pymysql selenium 无头浏览器 PhantomJS 主要思路通过QQ邮箱导出 ...
- python爬取qq数据_用Python爬取QQ好友空间说说进行分析
前言: 本文涉及知识点有数据库的读写,python基础,浏览器开发者工具的使用,适用于有编程基础,了解过python的朋友阅读. 环境:PyCharm+Chrome+MongoDB Window10 ...
- Python爬取QQ好友空间说说
刚学了一点爬虫的时候,就想着去爬一下空间说说,后来在打印源码的那一步就卡住了,没有一点点防备,也没有一丝顾虑,我就这样被他拒之门外.毫无疑问这个想法瞬间就被扼杀了,完全不知道打印出来的源码为什么一点空 ...
- python爬取加密qq空间_使用python+selenium爬取qq空间好友动态
使用python+selenium爬取qq空间好友动态 分析过程如下: 要想用selenium登陆qq空间,必须点击账号密码登陆按钮然后再填写账号密码登陆. 1.PNG 点击账号密码按钮后跳转到如下页 ...
- python多线程爬取斗图啦数据
python多线程爬取斗图啦网的表情数据 使用到的技术点 requests请求库 re 正则表达式 pyquery解析库,python实现的jquery threading 线程 queue 队列 ' ...
- Python 多线程爬取西刺代理
西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧. 镜像地址:https://www.blib.cn/url/xcdl.html 首先找到所有的tr标签,与class ...
- python多线程爬取妹子图
python多线程爬取妹子图 python使用版本: 3.7 目的: 自己选择下载目录,逐个将主题图片保存到选定目录下. 效果: 一秒钟左右下载一张图片,下了七八十组图片暂时没什么问题,不放心的话,可 ...
- python多线程爬取ts文件并合成mp4视频
python多线程爬取ts文件并合成mp4视频 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python多线程爬取ts文件并合成mp4视频 前言 一.分析页面 ...
- Python单线程爬取QQ空间说说存入MySQL并生成词云(超详细讲解,踩坑经历)
利用python爬取好友说说并分析 看了网上的许多博客,基本上都是一个样,基本的知识也没详细解释,我这次也想跟大家仔细分析一下,自己还是要有一定爬虫基础,本人技术有限,如果本文哪有错误或不够准确的地方 ...
- qq动态名片代码_利用Python动态爬取QQ说说并生成词云,分析朋友状况!
今天我们要做的事情是使用动态爬虫来爬取QQ空间的说说,并把这些内容存在txt中,然后读取出来生成云图,这样可以清晰的看出朋友的状况. 这是好友的QQ空间10年说说内容,基本有一个大致的印象了. 爬取动 ...
最新文章
- 发文件服务器空间满,针对服务器储存空间爆满而引发的宕机问题的解决方案
- Android内存泄露总结
- openwrt satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod: * 问题解决
- mysql制作html静态网页6_将数据库中的所有内容生成html静态页面的代码
- python 英语分词_Python英文文本分词(无空格)模块wordninja的使用实例
- python twisted教程一,异步编程
- Kubernetes 核心概念 1
- js中getBoundingClientRect的作用及兼容方案
- 为什么黑客都用python-终于发现为什么黑客都用python
- 非直接缓冲区与直接缓冲区
- stringbuilder为什么线程不安全_String Builder 为什么线程不安全?
- 角色从项目经理转换ScrumMaster的一些思考和总结
- 【OBS】OBS Studio 视频录制软件 的安装
- GNSS 5星16频
- 2、解读中台 -- 中台的作用
- I don't know what to say 事件的 NPM 包中奖名单,有你在用的吗?
- RSA加密算法(32bit比特级运算)(复杂版)(C++实现)
- 微信公众号用什么软件编辑?
- TPLINK AC650双频高增益无线USB网卡 TL-WDN5200H免驱版 Ubuntu16.04 安装
- Thread.sleep() 和 Thread.yield() 区别