下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#author:[email protected]#date:2014-12-08#Coding:utf-8import osimport sysimport reimport urllib.requestimport urllib.parsefrom HTML.parser import HTMLParserclass MyHTMLParser(HTMLParser): ''' 网页解析生成一个HTMLParser的类,然后利用这个类, 把给定的一个网址中所需要的地址解析并保存在该类中, 然后利用该类的的地址,下载图片。 ''' def __init__(self): HTMLParser.__init__(self) self.links = [] pass def handle_starttag(self,tag,attrs): #print("Encountered a start tag:",tag) if tag == "img": s = [] for (variable,value) in attrs: s.append(value) #print("ss:",s) self.links.append(s) s = [] pass def handle_endtag(self,tag): #print("Encountered a end tag:",tag) pass def handle_data(self,data): #print("Encountered some data:",data) passdef geturl(url): ''' 打开给定的网页,并返回网页的内容,python3中来来是以字节码形式返回的, 可以根据网页编码判定编码为gb2312,是gbk的子集, 以字符串形式返回。 ''' req = urllib.request.urlopen(url) req = req.read() return req.decode("gbk")def continsrc(src): ''' 根据网页的内容,找到我们所需要的内容, 这里主要是有两个需要关注的内容,一个是picture标签,另一个是Boxinfo标签。 ''' inta = src.find("<div ID=\"picture\">") #print(inta) 所找的第一个位置点 intb = src.find("<div class=\"Boxinfo\">") #print(intb) 所找的第二个位置点 content = src[inta:intb] return contentdef pageinurl(url): ''' 这个是把上面的许多功能放在一个函数库里,方便 *** 作。 作用是给定一个url,自动去解析地址,并自动下载保存图片。 ''' src = geturl(url) content = continsrc(src) parser = MyHTMLParser() parser.Feed(content) parser.close() alinks = parser.links for i in range(len(alinks)): print("filename:",alinks[i][0],"fileurl:",alinks[i][1]) urllib.request.urlretrIEve(alinks[i][1],alinks[i][0]+".jpg") print("ok!!")if __name__ == "__main__": print("------------------------") #url = "http://www.meizitu.com/a/4647.HTML" url = "http://www.meizitu.com/a/4674.HTML" src = geturl(url) content = continsrc(src) print(content) parser = MyHTMLParser() parser.Feed(content) parser.close() print("------------------------------------------") print(parser.links) a = parser.links b = len(a) print(len(a)) for i in range(b): print("filename:",a[i][0],a[i][1]) urllib.request.urlretrIEve(a[i][1],a[i][0]+".jpg") print("==================================") pageinurl("http://www.meizitu.com/a/4647.HTML")
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的python3下载妹子图,你懂的。全部内容,希望文章能够帮你解决python3下载妹子图,你懂的。所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)