python——爬取图片(初学)

利用python抓取网络图片的步骤是:

1、根据给定的网址获取网页源代码

2、利用正则表达式把源代码中的图片地址过滤出来

3、根据过滤出来的图片地址下载网络图片

以下是比较简单的一个抓取某一个网页的图片的实现:

# -*- coding: utf-8 -*-
import urllib
import re
def main():
  # 利用urllib2的urlopen方法,下载当前url的网页内容
  req = urllib2.urlopen('http://www.imooc.com/course/list')
  # 将网页内容存储到buf变量中
  buf = req.read()
  # 将buf中的所有内容与需要匹配的url进行比对。这里的正则表达式是根据静态网页的源码得出的,查看静态网页源码开启开发者模式,按F12即可。然后确定图片块,查看对应源码内容,找出规律,编写正则表达式。
  listurl = re.findall(r'src=.+\.jpg',buf)
  i = 0
  # 将结果循环写入文件
  for url in listurl:
    f = open(str(i)+'.jpg','w')
    req = urllib2.urlopen(url[5:])
    buf1 = req.read()
    f.write(buf1)
    i+=1
if __name__ == '__main__':
  main()

这里使用的网页下载器是python自带的urllib2,然后利用正则表达式匹配,输出结果。

运行结果

 

posted @ 2019-12-08 11:44  余生情指教  阅读(1700)  评论(0编辑  收藏  举报