前面已经完成了简单网页以及伪装浏览器的学习。下面,实现对豆瓣首页所有图片爬取程序,把图片保存到本地一个路径下。
首先,豆瓣首页部分图片展示
这只是截取的一部分。下面给出,整个爬虫程序。
爬虫程序
这个爬取图片的程序采用伪装浏览器的方式,只不过是加了处理图片的模块。
- ''
-
-
-
-
-
-
- import urllib.request,socket,re,sys,os
-
- 要确保存在该路径
- targetPath = "E:\\projects\\Spider\\03_dbImages"
-
- def saveFile(path):
-
- if not os.path.isdir(targetPath):
- os.mkdir(targetPath)
-
-
- pos = path.rindex('/')
- t = os.path.join(targetPath,path[pos+1:])
- return t
-
-
-
-
-
- url = "https://www.douban.com/"
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/51.0.2704.63 Safari/537.36'
- }
-
- req = urllib.request.Request(url=url, headers=headers)
-
- res = urllib.request.urlopen(req)
-
- data = res.read()
-
- for link,t in set(re.findall(r'(https:[^s]*?(jpg|png|gif))', str(data))):
-
- print(link)
- try:
- urllib.request.urlretrieve(link,saveFile(link))
- except:
- print('失败')
爬取结果
(1)打印出来的信息
(2)爬取的图片列表