python3与2在语言使用方面有较大的差异,最基本的像print语句,2直接
print x
即可,而3则需要加括号
print(x)
否则会报错。
此外,还有一些模块的使用,2跟3也有明显的差异,比如在2中直接用urllib即可,而3里需要使用urllib.request,如果直接使用2的代码就会报错。
由于2的时间较长,所以网上的很多代码教程还是以2为主,有时候经常会报错。
以下代码可以实现从网页中爬取图片:(代码来自http://www.cnblogs.com/fnng/p/3576154.html)
import urllib.request import re def getHtml(url): page = urllib.request.urlopen(url) html = page.read() html = html.decode('UTF-8') return html 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.request.urlretrieve(imgurl,'%s.jpg' %x) x+=1 print(x) getImg(getHtml("http://tieba.baidu.com/p/2460150866"))
另外,在python3中需要使用decode对爬取的HTML页面进行解码,否则会报错,使用decode时需要确认该页面的编码格式。