随着微信的普及,越来越多的人开始使用微信。微信渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要微信,工作交流也需要微信。微信里的每一个好友,都代表着人们在社会里扮演的不同角色。今天这篇文章会基于Python对微信好友进行数据分析,我们可以通过微信好友的性别、头像、签名、位置信息然后采用图表和词云两种形式来呈现结果。工欲善其事,必先利其器也,所以在获取这些数据之前我们需要做好准备工作。首先是爬虫程序的编写,这个没有什么太大的难度,其次是在获取数据时避免触发反爬机制,需要先对获取的数据网站进行分析并做好反爬策略。常见的反爬措施有随机ua的添加,cookie的获取,代理IP的辅助。这些措施里面代理IP的选择要有难度些,因为不是所有的代理都是质量好的,有需要的同学可以试试亿牛云代理https://www.16yun.cn/help/。接下来我们就分享下爬虫程序里面挂上代理获取微信好友信息的效果是怎么样的。
代码语言:javascript复制 #! -*- encoding:utf-8 -*-
import requests
import random
import requests.adapters
# 要访问的目标页面
targetUrlList = [
"https://httpbin.org/ip",
"https://httpbin.org/headers",
"https://httpbin.org/user-agent",
]
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host": proxyHost,
"port": proxyPort,
"user": proxyUser,
"pass": proxyPass,
}
# 设置 http和https访问都是用HTTP代理
proxies = {
"http": proxyMeta,
"https": proxyMeta,
}
# 访问三次网站,使用相同的Session(keep-alive),均能够保持相同的外网IP
s = requests.session()
# 设置cookie
# cookie_dict = {"JSESSION":"123456789"}
# cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
# s.cookies = cookies
for i in range(3):
for url in targetUrlList:
r = s.get(url, proxies=proxies)
print r.text```
通过获取到的好友数据信然后再进行绘制,我们还可以在地图上对好友的地理位置分布了然于心。以上就是Python实现微信好友数据爬取及分析的详细内容,有更好的爬虫经验可以分享的同学留言交流呀。若有收获,就点个赞吧