Python——爬虫抓取图片
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2019年 8 月 19 日
* 版 本 号:v1.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
用Python写一个爬虫,抓取网络上的图片。
在做的时候要把user-agent字段改为某些主流浏览器的本字段内容,来实现伪装成浏览器的效果,只需在浏览器任意页面右击—>检查可以查看到:
通过add_header('user-agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36')方法添加。
然后找到图片的地址:
和页数:
完整代码如下:
#爬虫爬取网址https://www.mzitu.com/zipai/上的图片
import urllib.request
import osdef url_open(url):req = urllib.request.Request(url)#添加头部,伪装Goole浏览器req.add_header('user-agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36')response = urllib.request.urlopen(req)html = response.read()return html
#得到页数
def get_page(url):html = url_open(url).decode('utf-8')a = html.find('page-numbers current') + 22 #+22是从字符‘p’到页数共偏移22个字符,下同b = html.find('<',a)return html[a:b]#得到图片地址
def find_imgs(url):html = url_open(url).decode('utf-8')img_addrs = []a = html.find('data-original=')while a != -1:b = html.find('.jpg',a,a+255)if b != -1:img_addrs.append(html[a+15:b+4]) #+15,+4同样是偏移字符的个数else:b = a + 22a = html.find('data-original=',b)#打印图片地址#for each in img_addrs:# print(each)return img_addrs#保存图片
def save_imgs(folder,img_addrs):for each in img_addrs:filename = each.split('/')[-1]with open(filename,'wb') as f:img = url_open(each)f.write(img)def download_mm_img(folder,pages):os.mkdir(folder)os.chdir(folder)url = "https://www.mzitu.com/zipai/"page_num = int(get_page(url))for i in range(pages):page_num -=ipage_url = url + 'comment-page-' + str(page_num) + '/#comments'img_addrs = find_imgs(page_url)save_imgs(folder,img_addrs)print("抓取成功!")
if __name__ == '__main__':pages_num = input("请输入要抓取的图片页数:")pages_num = int(pages_num)file_name = input("请输入要保存的文件名称:")download_mm_img(file_name,pages_num)
运行结果如下:
这是抓取的部分图片:
Python——爬虫抓取图片相关推荐
- python爬虫抓取图片-简单的python爬虫教程:批量爬取图片
python编程语言,可以说是新型语言,也是这两年来发展比较快的一种语言,而且不管是少儿还是成年人都可以学习这个新型编程语言,今天南京小码王python培训机构变为大家分享了一个python爬虫教程. ...
- python爬虫抓取图片-python网络爬虫源代码(可直接抓取图片)
在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标 ...博文来自:zhang740000的博客 P ...
- python爬虫抓取图片-怎么用爬虫批量抓取网页中的图片?
这个也有点简单了吧,之前观点网爬知乎的代码,直接给你上了: def download_img(url,classify): try: extention=get_extension(url) if(e ...
- [python爬虫] 爬取图片无法打开或已损坏的简单探讨
本文主要针对python使用urlretrieve或urlopen下载百度.搜狗.googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨.同时 ...
- 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...
- python爬虫爬取图片的简单步骤和实现代码
目录 1. 如何获取网页信息 1). 直接从网络读取 2). 先将网页源码保存到本地,再读取 2. 分析获取到的网页信息,提取需要的信息(图片地址) 3. 使用request将图片保存到本地以及会碰到 ...
- python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...
python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07
- python爬虫招聘-Python爬虫抓取智联招聘(基础版)
原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...
- Python学习教程:Python爬虫抓取技术的门道
Python学习教程:Python爬虫抓取技术的门道 web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单 ...
最新文章
- dojo Quick Start/dojo入门手册--json
- 本地打开extjs api docs 的方法
- 拓扑排序和关键路径课程设计
- m 文件 dll matlab 中调用_如何在matlab中调用python程序
- iOS模型输出和打印
- torch的DataLoader 浅析
- B树插入和删除的各种情况分析
- 为什么要对1000000007取模
- 判断DataTable为空,获取值,查询数据,datarow转datatable
- robo3t怎么插入数据_robo 3T(robomongo)在ubuntu16.04上安装记录
- python 实现复制文件夹以及文件夹下的子文件
- 【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
- 北京落户2020政策
- axurerp出现错误报告_Windows 应用程序无法安装 事件查看器报错
- 数据结构之你没见过的排序算法!
- 让C语言写图形库时不关闭控制台,GCC编译Win图形程序不显示控制台方法
- OpenCV cmake配置项BUILD_opencv_world的说明
- C/C++: “error: stray ‘\357’ in program“问题及其解决方法
- 提高 Maya 渲染质量和速度的4个小技巧
- 8Manage 助力平阳县交通运输局实现招标流程电子化管理