python 抓取腾讯微博数据并做简单的分析
2013-06-15 17:22
856 查看
利用python去读取腾讯微博中某个人的数据,统计和他相关的一些连接,并对每个打印每个连接的数据,本人采用的python版本为3.3.
from html.parser import HTMLParser
import urllib.request
import re
pattern = re.compile(r'http://t.qq.com/*?')
class MyParser(HTMLParser):
a_txt =False
total = 0
sample_list = []
def inputSelfAddress(self, name):
self.sample_list.append(name)
def __init__(self):
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag=='div':
for name,value in attrs:
if (name == 'class')and(value == 'msgCnt'):
self.a_txt=True
if tag=='a':
for name, value in attrs:
if(name == 'href'):
match = pattern.match(value)
if(match):
if value in self.sample_list:
return
else:
self.total=self.total+1
self.sample_list.append(value)
def handle_data(self, data):
if self.a_txt:
print (data)
self.a_txt=False
headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11')
opener = urllib.request.build_opener()
opener.addheaders = [headers]
strAddress = "http://t.qq.com/xiaoRainie"
fp =opener.open(strAddress)
mybytes = fp.read()
mystr = mybytes.decode("utf8")
fp.close()
myparser = MyParser()
myparser.inputSelfAddress(strAddress)
myparser.feed(mystr)
print("总数:", myparser.total-11)
for i in range(int(myparser.total), 1, -1):
print(myparser.sample_list[i-1])
print("结束")
for i in range(int(myparser.total), 1, -1):
fp =opener.open(myparser.sample_list[i-1])
myparser.inputSelfAddress(myparser.sample_list[i-1])
mybytes = fp.read()
mystr = mybytes.decode("utf8")
fp.close()
myparser = MyParser()
myparser.feed(mystr)
这里简单使用了python 的html 分析模块,和url 处理模块!
from html.parser import HTMLParser
import urllib.request
import re
pattern = re.compile(r'http://t.qq.com/*?')
class MyParser(HTMLParser):
a_txt =False
total = 0
sample_list = []
def inputSelfAddress(self, name):
self.sample_list.append(name)
def __init__(self):
HTMLParser.__init__(self)
def handle_starttag(self, tag, attrs):
if tag=='div':
for name,value in attrs:
if (name == 'class')and(value == 'msgCnt'):
self.a_txt=True
if tag=='a':
for name, value in attrs:
if(name == 'href'):
match = pattern.match(value)
if(match):
if value in self.sample_list:
return
else:
self.total=self.total+1
self.sample_list.append(value)
def handle_data(self, data):
if self.a_txt:
print (data)
self.a_txt=False
headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11')
opener = urllib.request.build_opener()
opener.addheaders = [headers]
strAddress = "http://t.qq.com/xiaoRainie"
fp =opener.open(strAddress)
mybytes = fp.read()
mystr = mybytes.decode("utf8")
fp.close()
myparser = MyParser()
myparser.inputSelfAddress(strAddress)
myparser.feed(mystr)
print("总数:", myparser.total-11)
for i in range(int(myparser.total), 1, -1):
print(myparser.sample_list[i-1])
print("结束")
for i in range(int(myparser.total), 1, -1):
fp =opener.open(myparser.sample_list[i-1])
myparser.inputSelfAddress(myparser.sample_list[i-1])
mybytes = fp.read()
mystr = mybytes.decode("utf8")
fp.close()
myparser = MyParser()
myparser.feed(mystr)
这里简单使用了python 的html 分析模块,和url 处理模块!
相关文章推荐
- python 抓取腾讯微博数据并做简单的分析 .
- [置顶] Python 使用itchat 对微信好友数据进行简单分析
- 使用python抓取并分析数据-链家网(上)
- python数据分析numpy简单例子
- python - 抓取汇率数据分析美元和欧元对RMB的变化曲线
- Python数据分析(一):工具的简单使用
- python抓取NBA现役球员基本信息数据并进行分析
- 【Python数据分析】简单爬虫 爬取知乎神回复
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
- 使用python抓取分析链家网二手房数据
- python数据分析之(6)简单绘图matplotlib.pyplot
- 利用python抓取搜狗关于数据分析的文章并保存到csv文件
- python数据分析——安装numpy,生成正态分布并简单分析
- python爬取拉勾网招聘信息并利用pandas做简单数据分析
- Python运用于数据分析的简单教程
- python&php数据抓取、爬虫分析与中介,有网址案例
- 关于 Python 数据抓取、分析、挖掘、机器学习和Python 分布式计算内容分享
- python采用requests库模拟登录和抓取数据的简单示例
- Python爬虫爬取京东内存条数据并作简单分析
- 【Python入门只需20分钟】从安装到数据抓取、存储原来这么简单