python实现简单图片爬虫并保存

先po代码

#coding=utf-8
import urllib.request  #3之前的版本直接用urllib即可,下同 #该模块提供了web页面读取数据的接口,使得我们可以像读取本地文件一样读取www或者ftp上的数据
import re
import os

def getHtml(url):
    page = urllib.request.urlopen(url);
    html = page.read();
    return html;

def getImg(html):
    imglist = re.findall(‘img src="(http.*?)"‘,html)#1 #http.*?表示非贪婪模式的匹配,只要符合http就匹配完成,不再看后面的内容是否匹配,即在能使整个匹配成功的前提下,使用最少的重复
    return imglist

html = getHtml("https://www.zhihu.com/question/39731953").decode("utf-8");
imagesUrl = getImg(html);

if os.path.exists("D:/imags") == False:
    os.mkdir("D:/imags");

count = 0; #文件的起始名称为 0
for url in imagesUrl:
    print(url)
    if(url.find(‘.‘) != -1):#2
        name = url[url.find(‘.‘,len(url) - 5):];
        bytes = urllib.request.urlopen(url);
        f = open("D:/imags/"+str(count)+name, ‘wb‘);  #代开一个文件,准备以二进制写入文件
        f.write(bytes.read());#write并不是直接将数据写入文件,而是先写入内存中特定的缓冲区
        f.flush();#将缓冲区的数据立即写入缓冲区,并清空缓冲区
        f.close();#关闭文件
        count+=1;

 代码分析:

 1.re.findall语法: findall(parttern,string,flags=0)

含义:返回string中与partten匹配的全部字符串,返回形式是数组

 2.find()语法:find(str,pos_start,pos_end)

含义:在url中查找str字符串的位置,pos_start是指从哪一个位置开始找,默认值为0,查找的默认位置,默认值为-1,若在url中找不到str,则返回-1

时间: 2024-10-10 06:29:26

python实现简单图片爬虫并保存的相关文章

使用python编写简单网络爬虫(一)

总算有时间动手用所学的python知识编写一个简单的网络爬虫了,这个例子主要实现用python爬虫从百度图库中下载美女的图片,并保存在本地,闲话少说,直接贴出相应的代码如下: ------------------------------------------------------------------------------------------- #coding=utf-8 # 导入urllib和re模块  import urllib import re # 定义获取百度图库URL的类

python 最简单的爬虫

一个简单的爬虫工程 环境: OS:Window10 python:3.7 安装一些库文件 pip install requests pip install beautifulsoup4 pip install lxml 在安装的时候如果遇到了你的pip版本过低的错误的话,可以找到你本地的C:\Users\XXX\PycharmProjects\getHtml\venv\Lib\site-packages下面的pip-18.1.dist-info文件夹删除,之后在进行更新 下面是提取一个网页的图片

[Python学习] 简单网络爬虫抓取博客文章及思想介绍

        前面一直强调Python运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括: 1.介绍爬取CSDN自己博客文章的简单思想及过程 2.实现Python源码爬取新浪韩寒博客的316篇文章 一.爬虫的简单思想      最近看刘兵的<Web数据挖掘>知道,在研

python 一个简单的爬虫(1)

1.一个简单的爬虫:爬取豆瓣的热门电影的信息 技能:获取网页源码,正则表达式,函数调用,全局变量的定义 1 #! /usr/bin/env python 2 # -*- coding=utf-8 -*- 3 import requests 4 import json 5 import re 6 import sys 7 reload(sys) 8 sys.setdefaultencoding("utf-8") 9 classinfo = [] 10 f = open('info.txt

Python 实现简单图片验证码登录

朋友说公司要在测试环境做接口测试,登录时需要传入正确的图片的验证码,本着懒省事的原则,推荐他把测试环境的图片验证码写死,我们公司也是这么做的^_^.劝说无果/(ㄒoㄒ)/~~,只能通过 OCR 技术来识别图片验证码了,看了一下他们的验证码,长这样,还好挺容易识别(背景色是透明的,有个坑需要处理). Python 实现了图片验证码登录 demo,用到的第三方模块有 requests, PIL, pytesseract. 1 # coding: utf-8 2 import requests 3 f

使用Python编写简单网络爬虫抓取视频下载资源

我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚本语言,没有之中的一个. Python的语言简洁灵活,标准库功能强大.寻常能够用作计算器,文本编码转换,图片处理,批量下载,批量处理文本等.总之我非常喜欢,也越用越上手,这么好用的一个工具,一般人我不告诉他.. .很多其它网络编程教程请上网维教程网 由于其强大的字符串处理能力,以及urllib2,c

python scrapy 简单的爬虫

1 scrapy的文档 比较简单 http://scrapy-chs.readthedocs.io/zh_CN/latest/intro/overview.html 我假定你已经安装了Scrapy.假如你没有安装,你可以参考这篇文章. 在本文中,我们将学会如何使用Scrapy建立一个爬虫程序,并爬取指定网站上的内容 1. 创建一个新的Scrapy Project scrapy creatproject "project-name" 2. 定义你需要从网页中提取的元素Item 3.实现一

python写个图片爬虫

[[email protected] pythonscript]# vim getimg.py #!/usr/bin/python #encoding:utf8 import requests,sys,re #定义一个方法,获取网站图片,并下载 def getimg(url): #请求url内容 page=requests.get(url) #获取内容 pagetext=page.content #定义正则表达式. reg=r'src=.*?\.jpg' #对获取的内容进行匹配 imglist=

Python 实现简单的爬虫

Python 是一种跨平台的计算机程序设计语言,面向对象动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议,随着版本的不断更新和语言新功能的添加,Python 越来越多被用于独立的.大型项目的开发. 快速抓取网页: 使用urllib最基本的抓取功能,将百度首页的内容保存到本地目录下. >>> import urllib.request >>> >>> res=