小爬静态页面图片

以慕课网http://www.imooc.com/首页为例

源代码:

#coding:utf-8
class Outputer:
	def __init__(self,directory):
		self.directory=directory
	def output(self,file,content):
		try:
			f=open(self.directory+file,‘wb‘)
			f.write(content)
		except Exception as err:
			print(err)
		finally:
			f.close()
			print(file+"has writed!")

class SpiderMan:
	def __init__(self,url,directory):
		self.url=url
		self.outputer=Outputer(directory)
	def crawl(self):
		resp=request.urlopen(self.url)
		buff=resp.read()
		pattern=r‘http:.+\.jpg‘
		jpgurls=re.findall(pattern,buff.decode(‘utf-8‘),flags=0)
		count=1
		for jurl in jpgurls:
			try:
				content=request.urlopen(jurl).read()
				print(count)
				count=count+1
				self.outputer.output(‘imooc_‘+str(count)+‘.jpg‘,content)
			except UnicodeEncodeError  as err:
				print(err)

if __name__ == ‘__main__‘:
	from  urllib import request
	import re
	#http://www.imooc.com/
	url=‘http://www.imooc.com/‘
	spider=SpiderMan(url,‘./spider_imooc/‘)
	spider.crawl()

运行图:

  

时间: 2024-11-13 00:30:24

小爬静态页面图片的相关文章

多线程爬取页面图片

详细见代码,在代码段有相应注释: from multiprocessing import Pool import requests import re import random class dImg(): def __init__(self): self.count = 0 pass def run(self): self.userSearch = input('请输入你想要下载的图片:') self.userNum = int(input('你想要下载多少页面图片:')) self.down

网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析

网站设计阶段是网站开发过程中非常重要的阶段之一,我们只有在设计阶段拥有优秀的设计思路与方法,才能使我们设计出来的网站更加的高效.稳定.本文我们介绍了网站设计过程中需要注意的一些事项,接下来我们就来一起了解一下这一过程. 1.HTML静态化 其实大家都知道,效率最高.消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实 也是最有效的方法.但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS

nginx实现静态页面,图片分离

nginx(静态页面,图片分离) #vi /usr/local/nginx/conf/nginx.conf user nginx nginx; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream webservs { s

mvc伪静态<四> 伪静态后静态页面或者引用的css和图片失效

引用的css和图片失效的解决办法 把样式引用文件的相对路径改成绝对路径就可以了 比如原先的引用路径为:<link href="~/Content/css/style.css" rel="stylesheet" type="text/css" /> 改成:<link href="http://www1.lvyou.edushi.com/Content/css/style.css" rel="style

微享商盟系统功能与小程序开发方案(静态页面制作)

在平时开发程序的过程中,自己经常会写一些控制台小程序进行测试某个功能,事后我们会寻找这些小程序,如果不仔细管理,经常会找不到.由于每个控制台小程序都有自己独立的 Main方法,所以我们不能把他们都放在一个Solution里面,这样在编译整个项目的时候会通不过,但是又不想为每个小程序都单独建立一个项目,这样又太浪费,因为每个都是一个非常简单的代码文件.微享商盟小程序制作流程是怎样,下面会一一给大家详解! 微享商盟系统开发找:张丽185*6541*3369(微电)微享商盟小程序模式定制,微享商盟排队

nginx和tomcat访问图片和静态页面的配置方法

生产环境下,有时候需要访问图片,正常需要应用ftp.nginx等配套使用,但是有时候为了简化,可以用以下的两种简单的访问,说实话,就是为了偷懒,但是效果是能有的,这就行了,所以今天做这个简化版的方便大家应急之用. 第一种方法:nginx配置下 1.创建文件路径: [[email protected] /]# mkdir /data/soft/ [[email protected] ~]# cd /data/soft/ [[email protected] soft]# mkdir html im

DataTables学习:从最基本的入门静态页面,使用ajax调用Json本地数据源实现前端开发深入学习,根据后台数据接口替换掉本地的json本地数据,以及报错的处理地方,8个例子(显示行附加信息,回调使用api,动态显示和隐藏列...),详细教程

一.DataTables  个人觉得学习一门新的插件或者技术时候,官方文档是最根本的,入门最快的地方,但是有时候看完官方文档,一步步的动手写例子,总会出现各种莫名其妙的错误,需要我们很好的进行研究出错的地方. 官方网站(中文):http://datatables.club/ 官方网站:https://www.datatables.net/  二.简单的例子 怎样简单地使用DataTables?使用下方简单的几行代码,一个方法初始化table. $(document).ready(function

只用table模仿一个静态页面

尝试只用table标签来模仿一个静态页面,这样做可以很好的增加对网页结构理解. 要尝试模仿的页面如下: 附上我自己写的代码,因为只是用了HTML,没有用到CSS和js,所以有些样式写出来和原图有些出入 <!DOCTYPE html> <html> <head> <title>只用table来模仿一个网页</title> <meta charset="utf-8"> </head> <body>

HTML5+CSS3静态页面项目-PayPaul的总结

学习前端有一段时间了,一直在看书上的理论知识,而实战项目却很少.师兄常说,想要知道自己的实力有多少,知识掌握了多少,最好的方法就是去实践了,实践出真知嘛.于是决定在这个假期里,主要是通过项目的实践以及理论知识的辅助来提高代码水平.首先是做几个HTML5+CSS3静态页面布局的练习,查缺补漏知识点并且总结在实践过程中遇到的一些错误.页面的设计稿主要是网络上找来了的,也尝试自己切图.测量位置.获得内容的属性等等,假装自己真的在完成一个项目. 第一个页面是从设计达人这个平台上找来的,这个平台的页面设计