Python下载懒人图库JavaScript特效
更新时间:2015年05月28日 09:44:05 投稿:hebedich
本文给大家分享的是使用Python 爬虫抓取懒人图库的JS脚本特效模板的代码,使用了第三方库gevent来实现,有需要的小伙伴可以参考下。
这是一个简单的Python脚本,主要从懒人图库下载JavaScript特效模板,在脚本中使用了gevent这个第三方库,使用的时候需要先安装。
#!/usr/bin/python # -*- coding: utf-8 -*- import urllib,os,sys import gevent,re from gevent import monkey from bs4 import BeautifulSoup 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,}\.+' def encode(text): return text.encode("utf8") def createDirectory(curPath): myPath = os.path.join(getSubDirectory(), u'JS代码模板') if not os.path.exists(myPath): os.mkdir(myPath) return os.path.join(myPath, curPath) def getSubDirectory(): return os.getcwd() def schedule(a, b, c): per = 100.0 * a * b / c if per > 100 : per = 100 sys.stdout.write('%.1f%%\r' % per) sys.stdout.flush() def geturllist(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') except IndexError, e: print e aTags = None # 获取链接地址和标题 if aTags is not None: for a_tag in aTags: url_list[HTTP_URL % a_tag.get('href')] = a_tag.get_text() return url_list def download(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) except Exception, e: print e.message def getpageurl(xUrl): # 进行列表页循环 return [xUrl % page for page in xrange(1,49)] if __name__ == '__main__': jobs = [] pageurl = getpageurl('http://www.lanrentuku.com/js/p%s.html') # 爬取所有链接 for i in pageurl: for k in geturllist(i).items(): jobs.append(gevent.spawn(download, k)) gevent.joinall(jobs)
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关文章
Python常用数据库接口sqlite3和MySQLdb学习指南
在本章节中,我们将学习 Python 中常用的数据库接口,包括 sqlite3用于SQLite数据库和MySQLdb用于 MySQL 数据库,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06python批量检查两个对应的txt文件的行数是否一致的实例代码
这篇文章主要介绍了python批量检查两个对应的txt文件的行数是否一致,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-10python3.7.3版本和django2.2.3版本是否可以兼容
在本篇文章里小编给大家整理的是一篇关于python3.7.3版本和django2.2.3版本是否可以兼容的相关知识点内容,有兴趣的朋友们可以学习下。2020-09-09Jupyter Notebook的连接密码 token查询方式
这篇文章主要介绍了Jupyter Notebook的连接密码 token查询方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04关于tf.matmul() 和tf.multiply() 的区别说明
这篇文章主要介绍了关于tf.matmul() 和tf.multiply() 的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06
最新评论