python爬虫爬取网上的照片
2017-03-11 23:28
309 查看
这里写一个python爬虫爬取国家地理上的一张图片
最近在网上刚学了python爬虫爬取网上的图片,所以将其记录下来。有时我们在网页上看到的图片是就是一个文件,所以可以通过爬虫爬取下来,保存到电脑之中。
#!/usr/bin/python # -*- coding: UTF-8 -*- import requests import os url='http://image.nationalgeographic.com.cn/2017/0309/20170309042607837.jpg' root="D://picture//"#建立一个目录,可以将图片保存到其中 path=root+url.split('/')[-1]#将图片的原名截图下来 try: if not os.path.exists(root):#检查一下我们建立的目录是本就否存在 os.mkdir(root)#如果不存在建立一个目录 if not os.path.exists(path): r=requests.get(url) print r.status_code#打印状态码 with open(path,'wb') as f:#打开目录,并将文件写入其中 f.write(r.content) f.close#关闭文件 print("文件保存成功") except: print '出错了'
可以看一下结果:
再看一下我们建立文件夹中的文件:
开打时发现出现问题,于是尝试用Notepad++打开:
这个结果表明,我们爬取的网站对爬虫是拒绝访问的,服务器一般是服务人的而非爬虫,一些网站可能会处于安全等一系列因素的考虑,从而拒绝爬虫的访问,但是我们可以改变下面的语句
r=requests.get(url)从而做到成功访问。我们可以看看我们访问国家地理网站时给国家地理发送的信息:
从以上返回信息可看出,我们访问国家地理网站时就告诉该网站我们是爬虫,而非浏览器。为了成功访问,我们可以改变User-agent的值,让该网站以为是浏览器的访问,这样便可成功访问。
改变的总代码为:
#!/usr/bin/python # -*- coding: UTF-8 -*- import requests import os url='http://image.nationalgeographic.com.cn/2017/0309/20170309042607837.jpg' root="D://picture//"#建立一个目录,可以将图片保存到其中 path=root+url.split('/')[-1]#将图片的原名截图下来 kv={'user-agent':'Mozilla/5.0'}#建立字典,改变user-agent的参数 try: if not os.path.exists(root):#检查一下我们建立的目录是本就否存在 os.mkdir(root)#如果不存在建立一个目录 if not os.path.exists(path): r=requests.get(url,headers=kv) print r.status_code#打印状态码 with open(path,'wb') as f:#打开目录,并将文件写入其中 f.write(r.content) f.close#关闭文件 print("文件保存成功") except: print '出错了'
我们可以发现返回的状态码为200,表示成功爬取到了。我们再看看我们建立目录中保存的文件:
程序成功运行了!!!
相关文章推荐
- 【原创】编写多线程Python爬虫来过滤八戒网上的发布任务
- python爬虫 爬取淘女郎介绍以及照片
- Python爬虫抓取马蜂窝游记的照片 基于xpath
- Python学习笔记56(爬虫:煎蛋网上的妹子图)
- Python 简单爬虫--获得网上的图片
- python 爬虫,抓取豆瓣勾搭组妹纸照片
- Python爬虫实战四之抓取淘宝MM照片
- python爬虫抓取橘梨纱照片
- Python爬虫实战之抓取淘宝MM照片(四)
- Python爬虫:动态网页抓取淘宝“淘女郎”照片
- 一次Python爬虫的修改,抓取淘宝MM照片
- Python爬虫扒取2345天气预报网上的邯郸天气数据
- python爬虫(14)获取淘宝MM个人信息及照片(上)
- Python爬虫实战 抓取淘宝照片
- Python爬虫实战四之抓取淘宝MM照片
- Python爬虫实战(4):抓取淘宝MM照片
- python2.7下同步华为云照片的爬虫程序实现
- python爬虫(14)获取淘宝MM个人信息及照片(下)(windows版本)
- python 爬虫实战4 爬取淘宝MM照片