精华内容
下载资源
问答
  • 我们这里以sogou作为爬取的对象。 首先我们进入搜狗http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果爬取某,那么就要初步的了解它… 进去后就是这个啦,然后F12进入人员选项,笔者用的是...
  • 首先是python的安装,在网上教程很多,这里不再赘述,但建议读者朋友安装>=python3的版本,因为这就是我安装的版本 ...然后来到我们要爬取图片的网站看一下,看看上面都是些什么内容,网页链接:https://www.mzitu.com/2.

    首先是python的安装,在网上教程很多,这里不再赘述,但建议读者朋友安装>=python3的版本,因为这就是我安装的版本

    其次是一些准备工作,要安装几个默认的包,以我爬取图片的教程为例,我安装的包分别是requests与bs4(如果读者电脑里已经有这两个了,请忽略掉这段话),方法很简单,打开cmd,输入 pip install bs4就安装了bs4, 输入 pip install requests就安装了requests

     

    然后来到我们要爬取图片的网站看一下,看看上面都是些什么内容,网页链接:https://www.mzitu.com/245734/,如下图所示

     

     

    我们在这个网页上点击鼠标右键,然后查看网页源代码,就会看到下图的样子:

    请注意上图中红框里的内容,这也是我们程序的主逻辑需要处理的地方,最后,直接放源代码,代码中有注释:

    import os
    import time
    import requests
    from bs4 import BeautifulSoup
    
    class GetGirlImg():
        def __init__(self) -> None:
            self._baseUrl = "https://www.mzitu.com/245734/"
            self._headers = {
                "cookie" : None,
                "user-agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
            }
            self._basePath = "D:/性感图片/"
    
        def create_folder(self, path): #给爬取的图片创建存放文件
            if not os.path.exists(path):
                os.makedirs(path)
            else:
                pass
    
    
        def getImgMsg(self): # 获取图片的信息
            curUrl = self._baseUrl #当前图片的网址
            self.create_folder(self._basePath) # 如果没有对应的图片存放路径,那么创建一个
            for i in range(54): #下载54张图片(这是同一个女孩的一组套图,如果读者有心,在这里可以把54改成更大的数,反正该网站有很多图片)
                response = requests.get(url=curUrl, headers=self._headers) # 爬取出来这个网页的源代码
                soup = BeautifulSoup(response.text, 'lxml') # 把源代码解析出来
                curImgUrl = soup.select_one(".main-image > p > a > img").attrs["src"] # 获取这个图片的源文件链接
                self.downloadImg(imgUrl = curImgUrl, filePath = self._basePath) # 下载这张图片
                curUrl = soup.select_one(".main-image > p > a").attrs["href"] # 获取这张图片的下一页图片,作为下一次get图片的url
    
        def downloadImg(self, imgUrl, filePath):
            imgName = str(imgUrl).split('/')[-1] # 从url中截取出最后的字符作为我们保存图片的文件名
            filePath = filePath+imgName # 与我们存放图片的基础路径拼接一下
            response = requests.get(url=imgUrl,headers=self._headers)
            if 200 != response.status_code: # status为200表示正确,为404表示错误
                pass
            else:
                with open(filePath,mode="wb") as f:
                    f.write(response.content) # 向我们预定义的文件中写入获取的图片内容
    
    
    if __name__ == "__main__":
        image = GetGirlImg()
        image.getImgMsg()

    效果图就不放上来了,因为有些尺度确实挺那个

    展开全文
  • python简单的爬取网页上图片

    千次阅读 2021-01-11 12:39:37
    如果需要大量的图片,在网页中一个一个下载,耗费时间太长了,如果可以有程序自动帮我们下载图片,这样就最好了,既快速又方便。 接下来,我将把学习笔记记录如下。 参考链接:...

    如果需要大量的图片,在网页中一个一个下载,耗费时间太长了,如果可以有程序自动帮我们下载图片,这样就最好了,既快速又方便。

    接下来,我将把学习笔记记录如下,以下内容仅仅是突击学习、尽快使用的效果,而对于python爬取还是有很多很多不了解的地方。

    参考链接:https://www.cnblogs.com/dearvee/p/6558571.html

    参考链接:https://blog.csdn.net/zjy18886018024/article/details/80001097

    参考链接:https://www.cnblogs.com/roboot/p/11410323.html

    参考链接:https://www.jb51.net/article/168484.htm

    参考链接:https://blog.csdn.net/qq_38412868/article/details/82080260

     

    源码示例

    参考链接:https://www.jb51.net/article/168484.htm

    给出一个链接,https://tieba.baidu.com/p/2460150866?red_tag=2171084898,里面有很多图片,需要把它们全部下载到一个本地文件夹内。

    import urllib.request
    import re
    import os
    import urllib
    
    #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 
    def getHtml(url):
      page = urllib.request.urlopen(url)
      html = page.read()
      return html.decode('UTF-8')
     
    def getImg(html):
      reg = r'src="(.+?\.jpg)" pic_ext'
      imgre = re.compile(reg)
      imglist = imgre.findall(html)#表示在整个网页中过滤出所有图片的地址,放在imglist中
      x = 0
      path = 'E:/Python/get_picture/picture'
      # 将图片保存
      if not os.path.isdir(path): 
        os.makedirs(path) 
      paths = path+'/'   #保存在test路径下 
     
      for imgurl in imglist: 
        urllib.request.urlretrieve(imgurl,'{0}{1}.jpg'.format(paths,x)) #打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串 
        x = x + 1
      return imglist
    html = getHtml("http://tieba.baidu.com/p/2460150866")#获取该网址网页详细信息,得到的html就是网页的源代码 
    print (getImg(html)) #从网页源代码中分析并下载保存图片

     源码示例

    参考链接:https://blog.csdn.net/qq_38412868/article/details/82080260

    需要下载图片的链接:http://desk.zol.com.cn/dongman/longmao/

    查看网页源代码:

    
    from bs4 import BeautifulSoup
    import requests
     
    def download(img_url,headers,n):
        req = requests.get(img_url, headers=headers)
        name = '%s'%n+'='+img_url[-15:]
        path = r'E:/Python/get_picture/picture'
        file_name = path + '\\' + name
        f = open(file_name, 'wb')
        f.write(req.content)
        f.close
     
    def parses_picture(url,headers,n):
        url = r'http://desk.zol.com.cn/' + url
        img_req = requests.get(url, headers=headers)
        img_req.encoding = 'gb2312'
        html = img_req.text
        bf = BeautifulSoup(html, 'lxml')
        try:
            img_url = bf.find('div', class_='photo').find('img').get('src')
            download(img_url,headers,n)
            url1 = bf.find('div',id='photo-next').a.get('href')
            parses_picture(url1,headers,n)
        except:
            print(u'第%s图片下载完成'%n)
     
    if __name__=='__main__':
        url='http://desk.zol.com.cn/dongman/longmao/'
        headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
        req = requests.get(url=url, headers=headers)
        req=requests.get(url=url,headers=headers)
        req.encoding = 'gb2312'
        html=req.text
        bf=BeautifulSoup(html,'lxml')
        targets_url=bf.find_all('li',class_='photo-list-padding')
        n=1
        for each in targets_url:
            url = each.a.get('href')
            parses_picture(url,headers,n)
            n=n+1

    展开全文
  • 爬取网易主页面所有图片把它放入/tmp/163/ import wget import re import os def pa(fname,patt,encoding=None): image_list = [] cpatt = re.compile(patt) with open(fname,encoding=encoding) as f1: for ...

    爬取网易主页面上所有图片把它放入/tmp/163/

    import wget
    import re
    import os
    def pa(fname,patt,encoding=None):
        image_list = []
        cpatt = re.compile(patt)
        with open(fname,encoding=encoding) as f1:
          for line in f1:
             m = cpatt.search(line)
             if m:
                 image_list.append(m.group())
        return image_list
    if __name__ == '__main__':
        image_dir = '/tmp/163'
        visite = 'http://www.163.com'
        filename = '/tmp/163/txt'
        if not os.path.exists(image_dir):
            os.mkdir(image_dir)
        if not os.path.exists(filename):
            wget.download(visite,filename)
        patt = '(http|https)://[/\w.-]+\.(gif|jpg|jpeg|png)'
        ima_list = pa(filename,patt,encoding='gbk')
        print(ima_list)
    
        for imagesite in ima_list:
            wget.download(imagesite,image_dir)
    

    cd /tmp/163 查看是否爬取成功(这里只展示了一小部分)
    在这里插入图片描述
    欢迎大家观看我的视频教程:Python入门到进阶
    在这里插入图片描述

    展开全文
  • mongodb的应用之用python爬取网页内容并用mongodb保存. 由于mongodb是文档型数据库,区别于传统的数据库,它是用来管理文档的。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的...
  • js爬取网页文字图片 html爬取网页信息博主的话功能简述运行效果项目代码代码简述 博主的话 可以爬取许多图片网站图片(一些很完善的网站不可以)。声明:本网页代码仅供朋友们学习使用,一 切商用等事项大家...

    js爬取网页文字图片 html爬取网页信息

    博主的话

    	可以爬取许多图片网站上的图片(一些很完善的网站不可以)。声明:本网页代码仅供朋友们学习使用,一
    切商用等事项大家一定注意,而且我们身为开发者更应有版权意识。
    

    功能简述

    	我是在网页上用js写的,因为一些原因只可以用IE浏览器运行。
    	主要功能是:输入一串网站地址到input框,点击检索。会自动爬取本网页页面里面的图片并且显示出图片
    的长和宽。此外,也会对网页里面的文字进行粗略的提取。
    

    运行效果

    1’ 将爬取此页面的图片
    在这里插入图片描述
    2’ 粘贴网址,点击查找图片即可
    在这里插入图片描述

    项目代码

    有言在先,只提供 JS爬虫.html 部分的代码。css部分不提供了。css很简单,大家可以对照html部分根据自己的爱好设置。锻炼前端能力。
    如果大家真的是急用,下载地址:https://download.csdn.net/download/qq_43592352/12368535

    此为项目文件。
    在这里插入图片描述

    <html>
    <head>
        <title>JS爬虫</title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
        <script src="jquery-3.3.1.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="container"></div>
            <div id="input_area">
                <span style="color: white;font-size:20px">输入网址:
                </span><input type="text" id="url">
                <input type="button" id="check" onclick="getSource()" value="提取文字">
                <input type="button" id="check" value="查找图片" onclick="check_img()">
            <textarea rows="30" cols="100" id="source"></textarea>
        </div>
    
        <div id="pic_container">
            <div id="picCon_1" class="picConClass">
            </div>
            <div id="picCon_2" class="picConClass"></div>
            <div id="picCon_3" class="picConClass"></div>
            <div id="picCon_4" class="picConClass"></div>
        </div>
        
            
            
        
    </body>
    <script type="text/javascript">
    //用于创建XMLHttpRequest对象
    function createXmlHttp() {
        //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
        if (window.XMLHttpRequest) {
           xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
        } else {
           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
        }
    }
    
    //直接通过XMLHttpRequest对象获取远程网页源代码
    function getSource() {
        var url = document.getElementById("url").value;             //获取目标地址信息
        //地址为空时提示用户输入
        if (url == "") {
            alert("请输入网页地址。");
            return;
        }
    
        document.getElementById("source").value = "正在加载……";   //提示正在加载
        createXmlHttp();                                            //创建XMLHttpRequest对象
        xmlHttp.onreadystatechange = writeSource;                   //设置回调函数
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    
    //将远程网页源代码写入页面文字区域
    function writeSource() {
        if (xmlHttp.readyState == 4) {
            document.getElementById("source").value = xmlHttp.responseText;
        }
    }
    
    function backposi(str,num){
        var n=0;
        for(var i=str.length;i>=0;i--)
            if(str.charAt(i)=='/')
                {
                    n++;
                    if(n==num) return i;
                }
        
    }
    
        var keyUrl=new Array();
        function check_img(){//匹配出img字符串
            var url = document.getElementById("url").value; 
            var key=xmlHttp.responseText;
            keyUrl=key.match(/<img src=(.*?)>/g);
            //第一次匹配出src后的字符
            for(var i=0;i<keyUrl.length;i++){
                var n=keyUrl[i].length;
                var key=keyUrl[i];
                var posi1=0,posi2=0;
                for(var j=0;j<n;j++){
                    if(key.charAt(j)=='\"'&&posi1==0) {posi1=j;continue;}
                    if(key.charAt(j)=='\"'&&posi2==0) {posi2=j;break;}
                }
                keyUrl[i]=keyUrl[i].substring(posi1+1,posi2);
            }
            //第二次对url的相对路径、绝对路径匹配
            for(var i=0;i<keyUrl.length;i++){
                var num1=(keyUrl[i].substring(0,3).split('/')).length-1;
                var num2=(url.split('/')).length-1;
                if(num1==num2) {keyUrl[i]=keyUrl[i].substring(2,keyUrl[i].length);}
                else {
                    if(num1==1){keyUrl[i]=url.substring(0,backposi(url,2))+keyUrl[i].substring(0,keyUrl[i].length);}
                }
            }
            increase_img();check_text();
        }
    
        var imgflag=0;
        function increase_img(){
            var div=$("<div class='pic'></div>");
            var text=$("<text></text>");
            var img=document.createElement("img");
            img.src=keyUrl[imgflag];
            var x,y;
            img.onload = function(){
                x=img.width;y=this.height;
                text.append(x+"*"+y+"px");
                
                if(x>360){
                        img.height=y/x*360;
                        img.width=360;
                    }
                }
            if(imgflag%4==0)
                {
                    $("#picCon_1").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==1)
                {
                    $("#picCon_2").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==2)
                {
                    $("#picCon_3").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==3)
                {
                    $("#picCon_4").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            imgflag++;
            if(imgflag-1<keyUrl.length)
                setTimeout("increase_img()",200);
            else
                imgflag=0;
        }
    
    function check_text(){
        var key=xmlHttp.responseText.match(/>(.*?)</g);
        for(var i=0;i<key.length;i++){
            if(key[i].length==3) key.splice(i,1);
            else {
                key[i]=key[i].substring(1,key[i].length-1);
            }
        }
        document.getElementById("source").value =key;
    }
    
    </script>
    </html>
    

    代码简述

    首先,根据输入的网站Url来获取该网址的源代码,储存在xmlHttp.responseText中;

    其次,通过用正则表达式将形如< img />的字符串全部提取,然后再定义函数提取出img标签中src的值。这时,src的值有的是绝对定位:http://www.xxx.com/xxx.png, 而有的是相对定位://img/xxx.png。所以此时要对相对定位的字符增加http://xxx.xxx.com头。

    然后,再创建img标签,把这些图片放到网页中。

    最后,用css小小的美化一下,一个简单的爬取工具就完成啦。大家有疑惑的可以问我哦。

    2019-5-28

    展开全文
  • 接着一篇博客的代码,对细节作了一些修改和完善,并用pyinstaller -F XXX.py生成.exe应用程序,可直接运行。爬取对象url = http://cmee.nwafu.edu.cn/szdw/gjzcry/index.htm下面给出所有代码:import requests ...
  • python爬取网页图片

    2021-07-30 20:22:44
    python爬取网页图片 爬取数据一般分为三步: 爬取网页信息 解析爬取来的数据 保存数据 找到自己想要爬取的网页,找到user-agent 代码实现 首先导入需要用到的包 from bs4 import BeautifulSoup #网页解析,获取...
  • 爬取图片资源并保存到本地 import os import requests import pandas as pd def savepics(img_urls,titles): for i in range(len(img_urls)): img_url = img_urls[i] title = titles[i] img_data = requests....
  • 使用Requests爬取网页图片并保存

    千次阅读 2021-01-02 17:56:13
    使用的是requests爬虫,在使用requests库爬取网页中有介绍。 import requests r = requests.get('https://www.qiushibaike.com/imgrank/')#获取网页链接 rtext = r.text #rtext #打开用来查看是否获取成功 二、...
  • 可以直接下载整站的图片 代码中使用多线程进行批量下载 代码中相关的内容已经加了注释 下载的同学应该可以自行修改里面的代码了
  • 主要介绍了Python爬虫爬取一个网页上图片地址实例代码,具有一定借鉴价值,需要的朋友可以参考下
  • python爬虫:爬取动态生成的DOM节点渲染数据结果,该方式不是直接拿到接口进行解析,而是XHR中看不到数据,检查网页又能看到,普通爬虫爬取下来的结果是看不到爬取到的这个数据所在的div的。
  • 本文将实现爬取网页中类似的动态加载的数据。 1. 那么什么是动态加载的数据? 我们通过requests模块进行数据爬取无法每次都是可见即可得,有些数据是通过非浏览器地址栏中的url请求得到的。而是通过其他请求请求到...
  • 利用Python爬取网页中的图片内容,并将其转换为pdf格式的文件。
  • 正则表达式获取图片 安装正则库:pip install re 正则表达式文档:https://docs.python.org/3/library/re.html 常见的正则字符和含义: 模式 描述 . 匹配任意字符,除了换行符 * 匹配前一个字符0次或多次 ...
  • 爬取网页中的图片

    千次阅读 2019-08-09 18:57:31
    # 爬取京东网站的商品图片 import requests import re url = 'https://list.jd.com/list.html?cat=9987,653,655' res = requests.get(url) res.encoding = 'utf-8' # --获取图片地址 image_pat = '<img width...
  • selenium webdriver 爬虫爬取动态网页,里面有chromedriver,windows平台可用,linux需要更换linux的chromedriver。修改代码可爬取其他网站的
  • 网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些...
  • 没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将...下面这篇文章主要给大家介绍了利用Python3.6爬取搜狗图片网页图片的相关资料,需要的朋友可以参考下。
  • 主要介绍了Python使用爬虫爬取静态网页图片的方法,较为详细的说明了爬虫的原理,并结合实例形式分析了Python使用爬虫来爬取静态网页图片的相关操作技巧,需要的朋友可以参考下
  • 这个实验主要是教大家爬取网页图片 首先回顾一下上面的实验,我们通过urllib.request.urlopen("网址")获取到网页内容 然后通过sys模块的存文件将获取到的网页内容存到文件中,如下 1.怎样获取图片? ...
  • 一般的网页图片与下一个图片之间,在地址提现出来就是数字的变化: 第一张的网址为: 而下一张是: 而视屏中的页面对网址用了base64加密 这里的MjAyMDA4MDktMTIx其实就是加密信息: 利用解码可知即是...
  • Python爬虫:爬取网页图片

    千次阅读 2019-05-15 16:42:25
    先分析查找要爬取图片的路径 在浏览器F12 审查元素 整体实现代码 # -- coding:UTF-8 -- import requests from bs4 import BeautifulSoup import os ''' 思路:获取网址 获取图片地址 爬取图片...
  • python根据正则表达式实现的一个对网页图片爬取的爬虫功能,简单实用。
  • 如何快速爬取网页数据(干货)

    万次阅读 多人点赞 2019-09-11 17:25:48
    网页数据爬取是指从网站提取特定内容,而不需要请求网站的API接口获取内容。“网页数据” 作为网站用户体验的一部分,比如网页上的文字,图像,声音,视频和动画等,都算是网页数据。 对于程序员或开发人...
  • 开发环境:python 3.6 IDLE 爬取对象及任务:爬取学院网站教师的信息,将教师照片保存在某一文件下。url = 'http://cmee.nwafu.edu.cn/szdw/gjzcry/index.htm'程序代码:import requests import bs4 import os ...
  • 本实验将利用python程序抓取网络图片,完成可以批量下载一个网站的照片。所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 原理 1、网络爬虫 即Web Spider,网络蜘蛛是通过网页的链接...
  • 利用精益模块的网页访问S,通过正则匹配需要的地址,然后成功下载下来保存到本地。适用于各种有图片的网站! 操作步骤,首先放入需要的网址,然后点击获取网页信息,下方会出现已经导入的数量。然后点击下载图片就会...
  • 爬取某知名网站图片(爬取动态网页)python爬取动态网页图片欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,393
精华内容 11,357
关键字:

如何爬取网页上的图片