Python爬取QQ空间说说是一个比较复杂的任务,需要对QQ空间的数据结构有一定的了解,并且需要使用到相关的库和技术。
首先,我们需要使用Python来实现对QQ空间说说的爬取,这里我们可以使用requests库来实现对QQ空间数据的获取。在这里,我们需要先获取到QQ空间的Cookie信息,然后再根据Cookie信息来获取到相应的数据。
其次,我们还需要使用BeautifulSoup库来实现对HTML文本的解析,这样才能够将HTML文本中包含的信息进行解析出来。在这里,我们可以通过BeautifulSoup库中find_all()方法来实现对HTML文本中特定标签内容的解析。
最后,我们还需要使用MySQL数据库来存储所解析出来的信息。在这里,我们可以使用Python中MySQLdb库中cursor()方法来实例化一个MySQL数据库对象;然后再通过execute()方法将所解析出来的信息存储到MySQL数据库中。
import requests # 加载requests 库 from bs4 import BeautifulSoup # 加载BeautifulSoup 库 import MySQLdb # 加载MySQLdb 库 # 进行相关代理IP 的配置 proxies = {'http': 'http://127.0.0.1:1080', 'https': 'http://127.0.0.1:1080'} # 进行代理IP 的配置 # 进行相关Cookie 的配置 cookies = {'cookie': 'xxx'} # 进行Cookie 的配置 # 进行相关URL 的配置 url = 'https://user.qzone.qq.com/xxx/infocenter?g_f=xxx' # 进行URL 的配置 # 首先通过requests 发送get 请求,并传递cookies、proxies、headers 等参数 r = requests.get(url, cookies=cookies, proxies=proxies) # 首先通过requests 发送get 请 求,并传递cookies、proxies、headers 等参数 soup = BeautifulSoup(r.text, 'lxml') # 通过BeautifulSoup 来对HTML 文本内容进行解 析 items = soup.find_all('div', class_='f-info') # 通过find_all() 来找到特定标 签内容 for item in items: print(item) # 遍历items ,并将特定标 签内容打印出来 db = MySQLdb.connect('localhost', 'root', '123456', charset='utf8') cursor = db.cursor() sql = "INSERT INTO qqzone (name, content) VALUES (%s, %s)" cursor.execute(sql, (name, content)) db.commit() cursor.close() db.close()
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载手机App,0基础随时随地学编程>>戳此了解
内容回顾:
Python爬取QQ空间信息(上)
按照(上)中的安排,本期内容为抓取QQ空间的好友信息并做可视化分析。
不过图省事,我只抓取了我关心和关心我的好友信息。
那就让我们愉快地开始吧~~~
百度网盘下载链接: https://pan.baidu.com/s/1_4Gmoc06wAWOsRSyMbPuvw
密码: fy5n
Python版本:3.6.4
相关模块:requests模块;selenium模块;lxml模块;pyecharts模块;以及一些Python自带的模块。
同Python爬取QQ空间信息(上)。
pyecharts模块安装参见:
Python简单分析微信好友。
T_T
空间都登录了,剩下的就是分析数据包,找到需要的接口来获取需要的数据并分析呗。。。
PS:
公众号提供的脚本只能抓取你有权限访问的数据。换句话说,就是你能看到的合法数据。
所有脚本仅供学习交流。
其他你们想的很美的要求,想想就行了T_T
具体实现过程详见相关文件中的源代码。
在cmd窗口运行QQ_Spider.py文件即可。
结果展示
借了一个玉树临风、面如冠玉、仪表不凡的小哥的QQ号做的分析QAQ。
qq好友男女比例:
qq好友年龄分布:
qq好友位置分布:
That's All.
代码截止2018-06-03测试无误。
事实上,本文提供的脚本可抓取的好友信息并不是仅有结果展示中的那些:
T_T我只是懒得一个个可视化了。。。
So,有兴趣的朋友可以自己去可视化好友的其他信息。嗯,就这样吧。
Python3 File writelines() 方法 Python3 File(文件) 方法概述writelines() 方法用于向文件中写入一序列的字符串。这一序列字符...
Python3abs() 函数 Python3 数字描述abs() 函数返回数字的绝对值。语法以下是 abs() 方法的语法:abs( x )参数x -- 数值表达式,...
Python3floor() 函数 Python3 数字描述floor(x) 返回数字的下舍整数,小于或等于 x。语法以下是 floor() 方法的语法:import math...
Python3tan() 函数 Python3 数字描述 tan() 返回x弧度的正弦值。语法以下是 tan() 方法的语法:import mathmath.tan(x)注意:tan(...
Python3 islower()方法 Python3 字符串描述islower() 方法检测字符串是否由小写字母组成。语法islower()方法语法:str.islower()...