一:起因
(0)爬虫就是网络蜘蛛,爬取指定URL的html网页的内容,所以会需要urllib2包,字符串string的操作肯定也是需要的,以及字符串匹配包re。
(1)Python的嵌套类型,一般在基础教程里面很少涉及到的;Python的更高级应用肯定会涉及的,只是个人能力有限,如今没有深入,期待不就将来接触学习一下。
(2)说起嵌套类型,这要从Java 或则 c++的嵌套类型说起,只要你处理数据,增删该查一般都会涉及到嵌套类型,原来的语言中涉及到,自然而然的想到了Python肯定也可以应用嵌套类型。
(3)下面简单的通过实例介绍一下嵌套类型,结合之前的blog,就基本上可以处理文本数据了。
python-共享模块代码
Python初学者的17个技巧
二:代码实战
(1)Python字典嵌套(就是hash嵌套) 以及 list(列表)嵌套类型的示例
import itertools
#encoding = utf-8
#!/user/bin/python
print "**********test multi_dic_hash (hashtable order by key automatic)********"
data = {1: {1:'a',2:'b',3:'c'}, 2: {4:'d',5:'e',6:'f'}};
print data;
del data[2][4];
print data;
data[2][5] = 'w';
print data;
tjudata = {"cs":{"091":32,"093":34,"092":35},"ccs":{"081":32,"083":34,"082":35},"is":{"071":32,"073":34,"072":35}};
print tjudata;
#删除
del tjudata["cs"]["091"];
print tjudata;
#更改 添加
tjudata["cs"]["091"] = 85;
tjudata["cs"]["092"] = 101;
#遍历
s_keys = tjudata.keys();
for s_key in s_keys:
print s_key,":";
s_data = tjudata.get(s_key);
#print s_key,"-->",s_data;
c_keys = s_data.keys();
for c_key in c_keys:
c_value = s_data.get(c_key);
print c_key,"-->",c_value;
print "**********test multi_list (hashtable order by key automatic)********"
#当里面的lst_one第一项字母相等时,就把第二项颜色拼接在一起。即最终实现[['A','黄绿白'],['B','黄'],['C','紫蓝']...]
lst_all = [['A','Blue'],['A','Green'],['A','Yellow'],['B','Red'],['C','Red'],['C','White']];
collector = [];
for k, lstgroup in itertools.groupby(sorted(lst_all), lambda x: x[0]):
collector.append([k, ','.join([c[1] for c in lstgroup])]);
print collector;
#删除
print lst_all;del lst_all[0][0];
print lst_all;
#更改 添加
lst = lst_all[0];
lst.insert(0,'D');
#lst_all.insert[0][0] = 'D';
lst_all[1][1] = 'RDS';
#遍历
for lst in lst_all:
for ele in lst:
print ele;
(2)简单的网络爬虫
#coding=utf-8
import urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
html = getHtml("https://www.baidu.com/")
print html
(3)urllib*简介 转载自 http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html
快速学Python 和 易犯错误(文本处理)
Python文本处理和Java/C比对
十分钟学会Python的基本类型
快速学会Python(实战)
大数据处理之道(十分钟学会Python)