Python下载懒人图库JavaScript特效
这是一个简单的Python脚本,主要从懒人图库下载JavaScript特效模板,在脚本中使用了gevent这个第三方库,使用的时候需要先安装。
#!/usr/bin/python #-*-coding:utf-8-*- importurllib,os,sys importgevent,re fromgeventimportmonkey frombs4importBeautifulSoup gevent.monkey.patch_socket() ''' Description:Python爬虫抓取懒人图库的JS脚本模板 Author:admin Create-Date:2015-05-25 Version:1.0 ''' HTTP_URL='http://www.lanrentuku.com%s' DOWNLOAD_URL=HTTP_URL[:-2]+'/js/d%szip' reg=r'\d{1,}\.+' defencode(text): returntext.encode("utf8") defcreateDirectory(curPath): myPath=os.path.join(getSubDirectory(),u'JS代码模板') ifnotos.path.exists(myPath): os.mkdir(myPath) returnos.path.join(myPath,curPath) defgetSubDirectory(): returnos.getcwd() defschedule(a,b,c): per=100.0*a*b/c ifper>100: per=100 sys.stdout.write('%.1f%%\r'%per) sys.stdout.flush() defgeturllist(url): url_list={} html=urllib.urlopen(url) content=html.read() html.close() #用BeautifulSoup解析 decodeHtml=BeautifulSoup(content) try: aTags=decodeHtml.find_all('div',{'class':'list-pngjs'})[0].find_all('a') exceptIndexError,e: printe aTags=None #获取链接地址和标题 ifaTagsisnotNone: fora_taginaTags: url_list[HTTP_URL%a_tag.get('href')]=a_tag.get_text() returnurl_list defdownload(down_url): try: m=re.search(reg,down_url[0]) name=DOWNLOAD_URL%m.group(0) urllib.urlretrieve(name,createDirectory(down_url[1]+name[-4:]),schedule) exceptException,e: printe.message defgetpageurl(xUrl): #进行列表页循环 return[xUrl%pageforpageinxrange(1,49)] if__name__=='__main__': jobs=[] pageurl=getpageurl('http://www.lanrentuku.com/js/p%s.html') #爬取所有链接 foriinpageurl: forkingeturllist(i).items(): jobs.append(gevent.spawn(download,k)) gevent.joinall(jobs)
以上所述就是本文的全部内容了,希望大家能够喜欢。