import urllib.request
import re class DownPic: def __init__(self,url,re_str):
self.url = url
self.re_str = re_str def getHtml(self,url):
page = urllib.request.urlopen(url)
html = page.read()
return str(html) def downloadPic(self):
imgre = re.compile(self.re_str) #构造正则
html = self.getHtml(self.url) #读取界面
imglist = re.findall(imgre,html)
x = 0
for imgurl in imglist:
print(imgurl)
try:
urllib.request.urlretrieve(imgurl,"../data/%s.jpg" % x) # 将图片取到本地
except:
print("error")
x += 1

上面是一个类,传入两个参数,一个是网页,一个是要匹配的图片的地址

下面是调用:

 from downpic import DownPic

 downPic = DownPic("http://tieba.baidu.com/p/2460150866",r'src="(https://imgsa.baidu.com.+?\.jpg)" pic_ext')

 downPic.downloadPic()
print("over")

从上面可以看到,一个简单爬虫的基本步骤是:
1、读取界面的HTML

2、用正则去获取到目标链接

3、下载

最新文章

  1. Leetcode 详解(Substing without repeats character)
  2. IOS 6和 IOS7适配的一些问题
  3. sprint1的个人总结及《构建之法》8、9、10章读后感
  4. Devexpress中WebChartControl控件柱状统计图的做法(数据为调用存储过程)
  5. bzoj3672
  6. 实现C#给系统其他窗口输入的思路
  7. ServiceStack.OrmLite
  8. TFS 如何恢复到指定版本
  9. C++静态成员函数不能调用非静态成员变量
  10. Hyper-v 安装CentOS
  11. [MSSQL]从SQL语句的角度 提高数据库的访问性能
  12. webpack 3.X学习之JS压缩与打包HTML文件
  13. Jenkins 学习笔记(二):很简单的发布一次
  14. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
  15. leetcode287
  16. 博文中标题的样式H1H2H3H4
  17. [转]cocos2d-js 3.0 屏幕适配方案 分辨率适应
  18. sqli-labs:1-4,基于报错的注入
  19. [error] 1507#0: *22 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.0.0.1, server: www.wordpress.com, request: "GET /info.p
  20. CocoaPods pod install的时候报错:invalid byte sequence in UTF-8 (ArgumentError)解决办法

热门文章

  1. javaScript定义函数的三种方式&变量的作用域
  2. 调参侠的末日? Auto-Keras 自动搜索深度学习模型的网络架构和超参数
  3. Vue框架之组件系统
  4. Linux上ln命令详细说明及软链接和硬链接的区别
  5. mysql05---游标
  6. Linux下高并发socket最大连接数所受的各种限制(详解)
  7. Apache POI组件操作Excel,制作报表(三)
  8. JAVA THINGKING (二)随笔
  9. math.floor()函数的用法
  10. 3.jeesite主从表开发