目的:再熟悉下python强大的数据处理能力和python2,3的区别
情景:贴吧上的图片,数据结构庞大的xml,某些国外比较火热的资源分享平台,你喜欢的漫画,想看的电影,只要资源不错,python‘都可以帮你实现查找,连接下载。
原理:竟然放不了图片,感觉51CTO这一类的博客,初心是好的,也是慢慢的变成了不好用的东西了,当一个企业成立起来,他的使命就只是挣钱了。可惜了。
原理:你需要分析下目标网站,你需要的网页地址是?一般都在src="",用正则简单去匹配一下就可以了。如果有点复杂,那么就用专业的工具分析下。
Fiddler或者HTTP_WATCH
针对于python的语言,是很多简单的。这里有一个入门小测试。转载的。http://www.cnblogs.com/fnng/p/3576154.html
我也打算转到cnblogs。
内容:这个小测试主要是三个方面:
1.尝试去建立http请求,主要是用到urllib的requests的urlopen
import re import urllib.request def getHtml(url): page = urllib.request.urlopen(url) html = page.read() #html = html.decode(‘utf-8‘) return html
2,尝试写个正则来匹配一下src或者你需要的链接在哪?
关于正则,我有话要说 ,可以参考经典书籍<AWK&SED>,然后必须用一个正则测试工具,推荐Regex,好像是个小老虎,一时没找到,在另一个电脑里。
接着转载
import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r‘src="(.+?\.jpg)" pic_ext‘ imgre = re.compile(reg) imglist = re.findall(imgre,html) return imglist html = getHtml("http://tieba.baidu.com/p/2460150866") print getImg(html)
主要是使用到了 r‘正则‘,这里是有个小问题的,必须要decode一下,也就是html,获取的界面结果,需要html.decode(‘utf-s‘),将string装成unicode
解释:字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode
3,还是再建立一个连接,下载第二部的资源,存起来就完了,现在想想,还是云技术好啊,我们只是搬运工,何必要下载到本地。最后转载
def getImg(html): reg = r‘src="(.+?\.jpg)" pic_ext‘ imgre = re.compile(reg) imglist = re.findall(imgre,html) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,‘%s.jpg‘ % x) x+=1 return imglist
基本上就结束了。如果对这有兴趣的,可以自己去搜着学习一下,这是个工具语言,相当高效好用。
至于他的python环境,不管是window还是linux都是比较容易搞定的。
如果你想着进一步,可以学着用docker去撞他的环境。python与我同岁。
我还是变成原创吧,以上部分代码来至于大人不华,君子务实。 独立博客:HTTP://WWW.TESTPUB.CN
(网上有关于各种资源的python,比如tum..b..l...r..)