精华内容
下载资源
问答
  • 没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将...下面这篇文章主要给大家介绍了利用Python3.6爬取搜狗图片网页中图片的相关资料,需要的朋友可以参考下。
  • 下面进入正文:你可能需要的工作环境:Python 3.6官网下载本地下载我们这里以sogou作为爬取的对象。首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,...

    前言

    最近几天,研究了一下一直很好奇的爬虫算法。这里写一下最近几天的点点心得。下面进入正文:

    你可能需要的工作环境:

    Python 3.6官网下载

    本地下载

    我们这里以sogou作为爬取的对象。

    首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,那么就要初步的了解它…

    201732385224084.jpg?201722385358

    进去后就是这个啦,然后F12进入开发人员选项,笔者用的是Chrome。

    右键图片>>检查

    201732385430831.jpg?201722385439

    发现我们需要的图片src是在img标签下的,于是先试着用 Python 的 requests提取该组件,进而获取img的src然后使用 urllib.request.urlretrieve逐个下载图片,从而达到批量获取资料的目的,思路好了,下面应该告诉程序要爬取的url为http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD,此url来自进入分类后的地址栏。明白了url地址我们来开始愉快的代码时间吧:

    在写这段爬虫程序的时候,最好要逐步调试,确保我们的每一步操作正确,这也是程序猿应该有的好习惯。笔者不知道自己算不算个程序猿哈。线面我们来剖析该url指向的网页。

    import requests

    import urllib

    from bs4 import BeautifulSoup

    res = requests.get('http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD')

    soup = BeautifulSoup(res.text,'html.parser')

    print(soup.select('img'))

    output:

    201732385536248.jpg?201722385546

    发现输出内容并不包含我们要的图片元素,而是只剖析到logo的img,这显然不是我们想要的。也就是说需要的图片资料不在url 即 http://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD里面。因此考虑可能该元素是动态的,细心的同学可能会发现,当在网页内,向下滑动鼠标滚轮,图片是动态刷新出来的,也就是说,该网页并不是一次加载出全部资源,而是动态加载资源。这也避免了因为网页过于臃肿,而影响加载速度。下面痛苦的探索开始了,我们是要找到所有图片的真正的url 笔者也是刚刚接触,找这个不是太有经验。最后找的位置F12>>Network>>XHR>>(点击XHR下的文件)>>Preview。

    201732385624788.jpg?201722385633

    发现,有点接近我们需要的元素了,点开all_items 发现下面是0 1 2 3...一个一个的貌似是图片元素。试着打开一个url。发现真的是图片的地址。找到目标之后。点击XHR下的Headers

    得到第二行

    Request URL:

    http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E5%A3%81%E7%BA%B8&tag=%E5%85%A8%E9%83%A8&start=0&len=15&width=1536&height=864,试着去掉一些不必要的部分,技巧就是,删掉可能的部分之后,访问不受影响。经笔者筛选。最后得到的url:http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E5%A3%81%E7%BA%B8&tag=%E5%85%A8%E9%83%A8&start=0&len=15 字面意思,知道category后面可能为分类。start为开始下标,len为长度,也即图片的数量。好了,开始愉快的代码时间吧:

    开发环境为Win7 Python 3.6,运行的时候Python需要安装requests,

    Python3.6 安装requests 应该CMD敲入:

    pip install requests

    笔者在这里也是边调试边写,这里把最终的代码贴出来:

    import requests

    import json

    import urllib

    def getSogouImag(category,length,path):

    n = length

    cate = category

    imgs = requests.get('http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category='+cate+'&tag=%E5%85%A8%E9%83%A8&start=0&len='+str(n))

    jd = json.loads(imgs.text)

    jd = jd['all_items']

    imgs_url = []

    for j in jd:

    imgs_url.append(j['bthumbUrl'])

    m = 0

    for img_url in imgs_url:

    print('***** '+str(m)+'.jpg *****'+' Downloading...')

    urllib.request.urlretrieve(img_url,path+str(m)+'.jpg')

    m = m + 1

    print('Download complete!')

    getSogouImag('壁纸',2000,'d:/download/壁纸/')

    程序跑起来的时候,笔者还是有点小激动的。来,感受一下:

    201732385810264.jpg?201722385843

    201732385907266.jpg?20172239016

    至此,关于该爬虫程序的编程过程叙述完毕。整体来看,找到需要爬取元素所在url,是爬虫诸多环节中的关键

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

    本文标题: Python爬取网页中的图片(搜狗图片)详解

    本文地址: http://www.cppcns.com/jiaoben/python/182909.html

    展开全文
  • 前言 最近几天,研究了一下一直很好奇的爬虫算法。这里写一下最近几天的点点心得。下面进入正文: ...发现我们的src是在img标签下的,于是先试着用 Python 的 requests提取该组件,进而获取img的src然后使
  • python 爬取网页中图片到本地

    万次阅读 2016-10-15 21:13:23
    最近在学习python,顺便写一个爬取网页中图片的程序练练手。 主要分为两个过程: 第一,从给定域名的网页爬取图片的链接 第二,读取链接对应的图片,保存到本地 第一个过程需要导入utllib包,在python2.7...

    最近在学习python,顺便写一个爬取网页中图片的程序练练手。

    主要分为两个过程:

    第一,从给定域名的网页中爬取图片的链接

    第二,读取链接对应的图片,保存到本地


    第一个过程需要导入utllib包,在python2.7环境下使用 import urllib2 即可

    在python3.X 之后的版本中,由于没有了urllib2模块,所以导入的是 import urllib.request

    在这里,我的环境是 python 2.7

    import urllib2     # 导入urllib2模块
    req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
    buf = req.read()
    

    三行语句即可将网页的源代码输出到buf对象,然后可以用print buf查看网页的内容


    import re         # 导入re模块
    listurl = re.findall(r'http:.+\.jpg',buf)   #正则表达式,匹配图片格式
    print listurl     # 将图片的格式放入list中

    之后就是利用正则表达式匹配图片格式的链接,将链接存到list中


    最后就是将list中的链接读取出来,将图片保存到本地即可。


    源代码:

    import urllib2     # 导入urllib2模块
    req = urllib2.urlopen('https://www.nuomi.com/?cid=002540')
    buf = req.read()
    
    import re         # 导入re模块
    listurl = re.findall(r'http:.+\.jpg',buf)   #正则表达式,匹配图片格式
    print listurl     # 将图片的格式放入list中
    
    i = 0
    for url in listurl:
    	f = open(str(i)+'.jpg',"wb")    #打开文件
    	req = urllib2.urlopen(url)
    	buf = req.read()              #读出文件
    	f.write(buf)                  #写入文件
    	i = i + 1                     #更改文件名

    在这里,我爬取的是 百度糯米网上的图片,成功保存到当前目录。


    展开全文
  • python爬取网页图片

    2020-11-26 14:27:04
    python爬取网页图片 在这里插入代码片 1. ModuleNotFoundError: No module named ‘requests’ 未安装该模块,安装一下即可; 在python安装目录输入cmd,再输入以下代码: python -m pip install request 2. ...

    python爬取网页图片

    1. 爬取一个页面的图片
    # encoding=gbk
    import re
    import requests
    
    url='http://www.netbian.com/'
    
    data=requests.get(url).text
    jpglist=re.findall('<img src="(.*?)" ',data,re.S)
    
    n=1
    for each in jpglist:
    	print(each)
    	try:
    		pic=requests.get(each,timeout=10)
    	except:
    		print('下载失败')
    		continue
    	string='D:\\img\\1\\'+str(n)+'.jpg'
    	fp=open(string,'wb')
    	fp.write(pic.content)
    	fp.close()
    	n+=1
    
    1. 爬取网站的全部图片
    在这里插入代码片
    

    以下是实现中遇到的问题以及解决方案总结


    1. ModuleNotFoundError: No module named ‘requests’

    未安装该模块,安装一下即可;
    在python安装目录输入cmd,再输入以下代码:

    python -m pip install request
    

    2. ModuleNotFoundError: No module named ‘bs4’

    python -m pip install bs4
    

    3. bs4.FeatureNotFound: Couldn’t find a tree builder with the features you requested: lxml.

    python -m pip install lxml
    

    这里看见有人安装失败

    原因是电脑安装了Anaconda3(python3.7),lxml库是4.2.5,在Pycharm(社区,2018.3)版中老是不支持lxml。
    解决方案:先用pip uninstall lxml卸载,再用pip install lxml安装,然后成功了


    展开全文
  • Python爬取网页数据

    万次阅读 多人点赞 2018-08-29 17:20:35
    都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便 简介 爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 准备 IDE:pyCharm 库:requests、...
  • 利用python爬取网页图片

    千次阅读 2017-04-06 11:09:49
    学习python爬取网页图片的时候,对于屌丝男士来说,可以通过这个工具去批量下载你想要的美女图片,哈哈,楼主只是在练习爬取网页图片的时候,顺便爬取美女的照片哦 开始正题: 我从尤物网去爬取我喜欢的女神的...
  • 爬取某知名网站图片(爬取动态网页)python爬取动态网页图片欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的...
  • 01-windows下python爬取网页上的图片.pdf
  • 分享一下之前学习Python网络爬虫爬取图片的经验,附上源码,欢迎大家参考指正。
  • Python爬取网页图片数据

    千次阅读 2018-11-09 17:08:12
    在项目内新建一个python文件TestCrawlers.py TestCrawlers.py # 导入urllib下的request模块 import urllib.request # 导入正则匹配包 import re # -*- encoding:utf-8 -*- """ @作者:小思 @文件名...
  • Python 爬取网页图片

    千次阅读 2017-11-28 11:36:32
    因为训练数据需求,需要爬取一些图片做训练。爬取的是土巴兔 网站的 家装图片 根据风格进行爬取图片 http://xiaoguotu.to8to.com/list-h3s13i0
  • python爬取网页所有图片并保存到本地

    千次阅读 多人点赞 2019-12-12 11:07:57
    img_url print(img_full_url) # 遍历获取图片名称 for alt in all_img: print('alt = ', alt) # 定义存储位置 root = "D://PythonDownload/test/" alt = img['alt'] # 定义图片存储名称和格式 # path = root + img_...
  • Python爬取网页图片

    千次阅读 2018-10-18 20:00:09
    本文利用Python3爬取网上图片数据,并保存到本地。具体代码如下图所示 # author:首席鉴黄师 import re import requests #url url = 'https://tieba.baidu.com/p/5915762447' #模拟浏览器请求资源 we_data = ...
  • 使用Python爬取网页图片

    千次阅读 2017-03-06 17:20:25
    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给大家。 首先...
  • 该函数吧serverurl跟photosrc这个array里头的元素拼接,并把他设置成viewimg的src属性,这就是图片链接。图片链接由前半部分服务器链接和后半部分GET参数构成。服务器链接相对固定,实际只发现了两个:img.tsjjx....
  • python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋友们不要错过哦!...
  • 首先我们进入搜狗图片http://pic.sogou.com/,进入壁纸分类(当然只是个例子Q_Q),因为如果需要爬取某网站资料,那么就要初步的了解它…进去后就是这个啦,然后F12进入开发人员选项,笔者用的是Chrome。右键图片>>...
  • 利用Python爬取网页图片

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

    千次阅读 2019-06-04 16:01:51
    python爬取网页图片并下载保存本地 以http://www.baidu.com为例 新建项目,路径如下 start.py #!/usr/bin/env python # -*- coding:utf-8 -*- import modules.my_request import modules.is_file_exist ...
  • import requests # 导入网页爬取库 import os url = "https://new.qq.com/omn/20200112/20200112A03V8000.html" # 图片网址 root = "D://pics//" # 图片保存位置 path = root + url.split('/')[-1] try: if not os....
  • 先分析查找要爬取图片的路径 在浏览器F12 审查元素整体实现代码# -- coding:UTF-8 --import requestsfrom bs4 import BeautifulSoupimport os'''思路:获取网址获取图片地址爬取图片并保存'''# 获取网址def getUrl...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,727
精华内容 8,290
关键字:

python爬取网页中的图片

python 订阅