精华内容
下载资源
问答
  • Python爬虫实战之爬取网站全部图片(一)

    万次阅读 多人点赞 2018-09-02 12:28:21
    Python爬虫实战之爬取网站全部图片(二) 传送门: https://blog.csdn.net/qq_33958297/article/details/89388556 爬取网址: http://www.meizitu.com/a/more_1.html 爬取地址:...

    Python爬虫实战之爬取网站全部图片(二)

    Python爬虫实战之通过ajax获得图片地址实现全站图片下载(三)

     

    一.获得图片地址 和 图片名称

    1.进入网址之后

    按F12  打开开发人员工具点击elemnts

     2.点击下图的小箭头 选择主图中的任意一个图片   那我们这里点击第一个 图片

       3.显示控制台 为了验证xpath是否正确

     

        4.通过xpath获得a的href  和 title.

    (请放大看)我们看到 他提示的是有10个 我们回到网站中看一下  在主页上数一下 他确实是10个 也就是说 我们获得的href 和title是没有任何问题的 那么留着为我们后面使用.

        5.我们还需要访问这个链接的请求头的信息 以备后面操作的时候来使用

    这里可以看到 没有什么特别的请求头

    6.获得每套图里的 所有图片.这也是我们的目的所在 不然前面那么多工序不是浪费吗。

    可以看到 我们获得了11个链接地址   不要被源码中的文字所迷惑

     

    7.获得相应的请求头  

    可以发现 需要注意的只有一个字段Referer 这里的地址就是我们访问这个页面进来的时候的那个地址 只要把那个地址给上就行了

    8.对于404的处理 如果出现了404那就只有重新请求了

     

    二.编写python代码实现爬取.

        1.需要用到的库有: 

          Requests   lxml   

        2.IDE : pycharm

        3.python 版本: 2.7.15

    下载地址: https://download.csdn.net/download/qq_33958297/12195656

     

    展开全文
  • python进行图片网站图片收集,主要分成如下几个部分:(1)进行网站html页面分析,分析你要找到的图片的链接,以及每个链接url是怎么构成的,如果通过爬取页面的html获取这些图片的链接(2)通过python将这些已知...

    python进行图片网站图片收集,主要分成如下几个部分:

    (1)进行网站html页面分析,分析你要找到的图片的链接,以及每个链接url是怎么构成的,如果通过爬取页面的html获取这些图片的链接

    (2)通过python将这些已知链接的图片下载下来

    注意这行代码

    header = {"Referer":"http://", "User-agent":"Mozilla/5.0"}  #输入和imagepage类似的网址

    这行代码定义了referer,就是告诉被爬网站服务器说,我的这个请求是从某某链接过来的,referer的参数写这个网站的首页,这样就不会触发反爬虫的机制了。

    下面附上我爬某个图片网站的python爬虫源码,大家主要是python的爬站方式。具体的网站链接我已经省略了。大家可以学习完代码后,找个网站试下。我总共用这段代码爬了50000张照片。


    #encoding:utf-8
    import requests
    import re
    from bs4 import BeautifulSoup
    header = {"Referer":"http://", "User-agent":"Mozilla/5.0"}  #输入和imagepage类似的网址
    
    
    #1-1000
    def getImg(img_url, img_name):  
        jpg_url = img_url
        r = requests.get(jpg_url, headers = header)
        
        if r.status_code == 200:
            print img_url + "   success"
        content = r.content
        with open(img_name, 'wb') as fp:
            fp.write(content)
        
    # 获得专辑照片数量
    def picSetNum(picSet_url):
        r_set = requests.get(picSet_url, headers=header)
        html_set = r_set.content
        soup_set = BeautifulSoup(html_set, 'lxml')
        tag_pagename = soup_set.find_all(href=re.compile('^/mm/'))
        return tag_pagename[6].string
    
    if __name__ == '__main__':
        homepage = ""                            #输入你要爬取的目标地址
        imgpage = ""                             #输入图片的存储位置
        for i in range(1,1000):
            temp_url = homepage + str(i)
            for j in range(1,int(picSetNum(temp_url))+1):
                t_url = imgpage + str(i) + '/' + str(j) +'.jpg'
                t_name = 'mm_' + str(i) + '_' + str(j) +'.jpg'
                print t_url
                #print t_name
                getImg(t_url, t_name)
    
    

    展开全文
  • Python爬取网站图片并保存,超级简单 第一步,导入模块 import requests from bs4 import BeautifulSoup requests用来请求html页面,BeautifulSoup用来解析html 第二步,获取目标html页面 hd = {'user-agent': '...

    Python爬取网站图片并保存,超级简单

    先看看结果吧,去bilibili上拿到的图片=-=
    在这里插入图片描述

    第一步,导入模块

    import requests
    from bs4 import BeautifulSoup
    

    requests用来请求html页面,BeautifulSoup用来解析html

    第二步,获取目标html页面

    hd = {'user-agent': 'chrome/10'}  # 伪装自己是个(chrome)浏览器=-=
    
    
    def download_all_html():
        try:
            url = 'https://www.bilibili.com/'  # 将要爬取网站的地址
            request = requests.get(url, timeout=30, headers=hd)  # 获取改网站的信息
            request.raise_for_status()  # 判断状态码是否为200,!=200显然爬取失败
            request.encoding = request.apparent_encoding  # 设置编码格式
            return request.text  # 返回html页面
        except:
            return ''
    

    第三步,分析网站html构造

    1、显示网站html代码
    在这里插入图片描述
    2、找到图片位置
    在这里插入图片描述
    3、分析
    在这里插入图片描述
    在这里插入图片描述

    第四步,直接上代码注释够详细=-=

    def parse_single_html(html):
        soup = BeautifulSoup(html, 'html.parser')  # 解析html,可以单独去了解一下他的使用
        divs = soup.find_all('div', class_='card-pic')  # 获取满足条件的div,find_all(所有)
        for div in divs:  # 瞒住条件的div有多个,我们单独获取
            p = div.find('p')  # 有源代码可知,每个div下都有一个p标签,存储图片的title,获取p标签
            if p == None:
                continue
            title = p['title']  # 获取p标签中的title属性,用来做图片的名称
            img = div.find('img')['src']  # 获取图片的地址
            if img[0:6] != 'https:':  # 根据源代码发现,有的地址缺少"https:"前缀
                img = 'https:' + img  # 如果缺少,我们给他添上就行啦,都据情况而定
            response = requests.get(img)  # get方法得到图片地址(有的是post、put)基本是get
            with open('./Img/{}.png'.format(title), 'wb') as f:  # 创建用来保存图片的.png文件
                f.write(response.content)  # 注意,'wb'中的b 必不可少!!
    
    
    parse_single_html(download_all_html())  # 最后调用我们写的两个函数就行啦,
    
    

    在这里插入图片描述

    查看结果

    在这里插入图片描述

    展开全文
  • python爬取5442网站图片

    千次阅读 2017-06-08 13:32:12
    python爬取5442网站图片 python3环境下: #!/usr/bin/python #encoding: utf-8 """ 本次爬虫使用的是python3的版本,并且本次的目标网站并没有采用js来加载图片,所以没有涉及对js脚本的解析,都是通过...

        python爬取5442网站图片


    python3环境下:


    #!/usr/bin/python
    #encoding: utf-8
    """
    本次爬虫使用的是python3的版本,并且本次的目标网站并没有采用js来加载图片,所以没有涉及对js脚本的解析,都是通过来分析html文件通过正则来一步步提取图片网址,然后存起来。
    首先这个网站有很多分类,到美女图这个子网页,可以发现有很多页,同时每页有多个相册,每个相册点进去就会有多个页,每页有多张照片
    流程大概是这样
    找到所有页数
    ----遍历所有的页数
    ----遍历当前页的所有相册(给每个相册建立一个目录)
    ----遍历当前相册的所有图片(遍历此相册的所有页(遍历当前页的所有照片并找到图片的url))
    ----获得图片url就存起来
    """
    import urllib.request
    import re
    import os
    import time
    import socket
    from hashlib import md5
    #001获得整个页面
    def get_html(url):
        socket.setdefaulttimeout(10)
        papg = urllib.request.urlopen(url)
        html = papg.read()
        html = html.decode("gbk")
        #html = unicode(html, "gbk").encode("utf8")
        return html
    
    def get_img(html):
        imgre = re.compile(r'<img src="(.*?)"')
        imglist = re.findall(imgre, html)
        for imgurl in imglist:
            #print (imgurl)
            global x
            urllib.request.urlretrieve(imgurl, '.\\photo\%05d.jpg'%x)
            x += 1
            print("正在下载第%s张图片"%x)
    
    def get_tag_list(html):
        szurlre = re.compile(r'<a href="(http://www.5442.com/tag/.*?.html)" class')
        tag_list = re.findall(szurlre, html)
        return tag_list
    #002   获得总页码数
    def get_page_num(html):
        szurlre = re.compile(r'(\d+).html\'>末页')
        szresult = re.findall(szurlre, html)
        if len(szresult) == 0:
            page_num = 0
        else:
            page_num = int(szresult[0])
        #print (page_num)
        return page_num
    #004 获取相册的页数
    def get_page_num2(html):
        szurlre = re.compile(r'共(\d+)页')
        szresult = re.findall(szurlre, html)
        if len(szresult) == 0:
            page_num = 0
        else:
            page_num = int(szresult[0])
        #print (page_num)
        return page_num
    
    #003 获得单页的相册
    def get_ablum_list(html):
    	#"http://www.5442.com/meinv/20170602/44873.html" title="白皙丰满少女画室写真 甜美少女白嫩巨乳诱人美照" target="_blank">白皙丰满少女画室写</a>#
        #szurlre = re.compile(r'(http://www.5442.com/meinv/2\d+/\d+.html)" target=')
        szurlre = re.compile(r'(http://www.5442.com/meinv/2\d+/\d+.html)')
        ablum_list = re.findall(szurlre, html);
        #print("----------len-----------:",len(ablum_list))
        return ablum_list
    	
    #获得相册的名称
    def get_ablum_name(html):
        szurlre = re.compile(r'<title>(\S+)</title>')
        ablum_name = re.findall(szurlre, html)
        return ablum_name[0]
    
    #005  获得单页的图片
    def get_photo(html, dir, photo_num):
        imgre = re.compile(r'点击图片进入下一页\' ><img src=\'(http://\S+.jpg)\' alt=')
        imglist = re.findall(imgre, html)
        #print("len_imglist",len(imglist))
        for imgurl in imglist:
            try:
                socket.setdefaulttimeout(2)
                #urllib.request.urlretrieve(imgurl, unicode('.\\photo\\%s\%05d.jpg'%(dir, photo_num), "utf8"))
                store_path='.\\photo\\' + '\\'+ md5(imgurl.encode("utf8")).hexdigest() + "." + 'jpg'
                #print("#######:",store_path)
                urllib.request.urlretrieve(imgurl, store_path)
                print("正在下载第%s张图片"%photo_num)
                photo_num = photo_num + 1
            except:
                continue
        return photo_num
    
    url = "http://www.5442.com/meinv/"
    baseurl = "http://www.5442.com"
    html = get_html(url)
    page_num = get_page_num(html)
    print ("一共有%s页"%page_num)
    ablum_num = 0
    try:
        os.mkdir("photo")
    except:
        print ("目录已经存在,继续下载")
    #遍历所有的页
    for i in range(1, page_num):
        if i != 1:
            url = "http://www.5442.com/meinv/list_1_%s.html"%i
            try:
                html = get_html(url)
            except:
                continue
        ablum_list = get_ablum_list(html)
        #遍历当前页的所有相册
        for ablum_url in ablum_list:
            ablum_num = ablum_num + 1
            try:
                photo_html = get_html(ablum_url)
            except:
                continue
            url_part = ablum_url[0:-5]
            photo_page_num = get_page_num2(photo_html)
            #获取相册名有点问题,直接以数字来创建更加方便,便于分
            #ablum_name = get_ablum_name(photo_html)
            ablum_name = "picture" + "%05d" % ablum_num
            print (ablum_name)
            photo_num = 0
            #创建相册对应的目录
            ui_ablum_name = ablum_name#unicode(ablum_name, "utf8")
            #try:
                #os.mkdir(".\\photo\\"+ui_ablum_name)
            #except:
            ##   continue
            for i in range(1, photo_page_num):
                if i != 1:
                    ablum_url = url_part + "_%d"%i + ".html"
                    try:
                        photo_html = get_html(ablum_url)
                        #print("###获得photo地址###")
                    except:
                        continue
                #进行存储操作 包含照片的网页,存储相册名称,存储第几张
                photo_num = get_photo(photo_html, ablum_name, photo_num)


    展开全文
  • 赶紧用 Python 学习一下,没想到 技术圈的【多肉小达人】,一篇文章你就能做到 用 Python 爬取 100G Cosers 图片 本篇博客目标 爬取目标 目标数据源:http://www.cosplay8.com/pic/chinacos/,又是一个 Cos 网站,该...
  • 主要介绍了python用来获得图片exif信息的库,实例分析了exif-py库文件的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • Python爬取网站图片、前方高能——未满18岁勿学

    千次阅读 热门讨论 2021-02-08 23:25:46
    自从学习编程以来,总是听别人说什么爬虫爬虫的,爬这爬那,我心想老是扒拉来扒拉去不累吗,有啥好爬的,又没啥子用,前两天无聊就想看看python爬取网站图片到底是什么鬼,就从网上开始学习,从下载python到配置,...
  • Python爬虫实战之爬取网站全部图片(二)

    万次阅读 多人点赞 2019-04-18 21:30:04
    通过python 来爬取网站内所有的图片到本地 第三篇是动态获取参数构造图片地址实现下载图片 传送门:https://blog.csdn.net/qq_33958297/article/details/82316019 这篇文章的目的是因为上一个文章里的地址已经...
  • python爬虫爬取网站图片

    千次阅读 2017-09-18 19:13:16
    效果图都让让都让让,老司机先来一发效果图 源码最下方,实现思路分为三步走: 1. 获取网页数据源 2. 解析网页源数据,获得所有的图片地址列表 3. 遍历列表,并将图片保存到本地 实现步骤 获取网页数据def
  • python图片_python爬取mm131图片

    千次阅读 2020-11-24 07:37:43
    python爬取mm131图片python3#!/usr/bin/python#encoding: utf-8"""http://www.mm131.com"""import urllib.requestimport reimport osimport timeimport socketfrom hashlib import md5#001获得整个页面def get_html...
  • python如何调用图片-python调用图片

    千次阅读 2020-11-01 13:08:32
    python本身也有识别图片转文字的框架,但是相比调用接口,识别的精度就略显不行了; 这是 百度ai 的网站: https:ai.baidu.com ; 点击右上角的 控制台 ,申请或者登陆; 进去之后左侧有 【文字识别】: ? 点击【创建...
  • 学习python已经差不多三个月了,...主要使使用了正则表达式和beautifulsoup4结合来获取到图片的url(其中的for循环拆分索引和值也很关键,使其能遍历,分析其网页图片结构,发现获取到的url不是像其他网站带上域名的,
  • Python爬取bing图片

    千次阅读 2018-09-03 18:57:43
    我之前写过一篇Python爬取百度图片,有兴趣的朋友可以去读一下,这次写的是爬取Bing的图片。 打开Bing图片,搜索关键词,开始分析页面,可以发现bing和百度一样都是下滑自动加载,百度默认一次加载30张,bing默认一...
  • 网站图片爬虫(已包含:微博,微信公众号,花瓣网)及免费IP代理 豆瓣电影爬虫
  • python爬取美女图片

    万次阅读 2017-07-03 22:25:27
    需求:最近对python爬虫感兴趣,于是也依葫芦画瓢试着用爬虫爬取之前喜欢的网站上的美女图片网站:http://www.mm131.com/xinggan,其中每一套图都是一张一个页面,存一套图如果是手动得点翻几十个页面,但现在用...
  • 主要介绍了python通过exifread模块获得图片exif信息的方法,实例分析了Python操作exifread模块的技巧,需要的朋友可以参考下
  • 主要介绍了python通过pil模块获得图片exif信息的方法,实例分析了Python中pil模块的使用技巧,非常具有实用价值,需要的朋友可以参考下
  • 本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com 前言 最近在做机器学习下的人脸识别的学习,机器学习这个东西有点暴力,很大程度上靠训练的...
  • 这是一个方便的图片上传实用工具,可以方便, 快速地把一张图片上传然后得到一个图片链接
  • python爬取百度图片

    千次阅读 2018-09-02 09:44:22
    现在python很是火爆,我也忍不住去学习了一下,发现这门语言非常简单,可以用很简单的代码写出很流弊的东西,当然每门语言都有很多坑。我学习了一些基础知识便尝试写了一个爬虫,爬取百度图片,在这里分享一下我的...
  • python旋转图片

    万次阅读 2019-03-28 14:48:37
    今天在处理图片做模型测试的时候,发现如果对于人脸的检测,当图片的角度发生变化,比如人的照片是倒置的就会对精度产生影响,所以对于初始图像的处理是必要的,需要处理图像旋转,这样在数据增强等领域也都有很多的...
  • python获得图片base64编码

    千次阅读 2018-05-21 14:25:13
    /usr/bin/env python# -*- coding: utf-8 -*-import os, base64icon = open('ya.png','rb')iconData = icon.read()iconData = base64.b64encode(iconData)LIMIT = 60liIcon = []while True: sLimit = iconD...
  • python学习 二 02 爬一个图片网站获得主链接网址,并保存 python学习 二 03 爬一个图片网站-获得所有分页网址 本节目的:解析下载到本地的文件,获得图片链接 请点击此处输入图片描述
  • Python爬取图片链接的Ico图片,爬去各个搜索引擎得到图片,并设定下载文件位置,下载的张数设置。通过学习,对python的语法进行熟悉,对网络request的引用的使用。
  • Python图片

    万次阅读 多人点赞 2018-10-31 18:30:48
    学完了爬网页中的文本,今天我们来试着学习爬图片 目标网址:http://www.netbian.com/ ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181031183029798.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5...
  • 首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,那么就要初步的了解它…进去后就是这个啦,然后F12进入开发人员选项,笔者用的是Chrome。右键图片>>...
  • python批量旋转图片

    2020-08-10 18:33:43
    工作中偶尔会用到图像批量选装,找工具有点麻烦,就查了一下python脚本。 双击一下就能完成的任务,为啥非要找工具呢,是吧。 #-*- coding: UTF-8 -*- from PIL import Image import os # 获得文件夹下所有文件...
  • 利用Python爬取网页图片

    千次阅读 2019-05-20 21:44:23
    首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站...发现我们需要的图片src是在img标签下的,于是先试着用 Python 的 requests提取该组件,进而获取img的s...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 159,528
精华内容 63,811
关键字:

python获得网站图片

python 订阅