爬取效果如下(别问我为什么被分成了两张还有去不掉的水印,不然网站怎么赚钱):

爬取链接为(千图网的图片,顺便吐槽一下,这个有些图片是分两半的!!!):

https://www.58pic.com/piccate/10-0-0-p1.html

记得先F12看所需要的内容具体位置和代码,可以找出,图片列表需要的href="//www.58pic.com/sucai/19381028.html"

<a href="//www.58pic.com/sucai/19381028.html" class="thumb-box" data-id="19381028" target="_blank">
<div class="card-trait"><div class="card-tag-business a190"></div></div><img src="//preview.qiantucdn.com/58picmark/back_origin_pic/19/38/10/28M58PICdRdmHaG8694atMaRk.JPG!qt324new_nowater" alt="炫彩星空背景" data-i="0" class="back-static" width="324" height-no="432"><div class="card-bg"></div><div class="card-handle"><div class="handle-dum qt-btn btn-green-linear download-page" data-id="19381028" data-yc="1" data-bg="0"><span class="xfdl"><i class="icon-down"></i>免费下载</span></div><div class="handle-fav" data-action="addFav" data-id="19381028"><span></span></div>
</div>
</a>

详细页面所需要的图片链接src="//preview.qiantucdn.com/58picmark/back_origin_pic/19/38/10/28M58PICdRdmHaG8694atMaRk.JPG!w1024_small" class="show-area-pic"

<img src="//preview.qiantucdn.com/58picmark/back_origin_pic/19/38/10/28M58PICdRdmHaG8694atMaRk.JPG!w1024_small" class="show-area-pic" id="show-area-pic" alt="炫彩星空背景" title="炫彩星空背景" width="650">

记得新建一个存储图片的文件夹picture

抓取代码如下:

import socket
import re
import requests
from bs4 import BeautifulSoup
from lxml import etreedef test_pachong():url = r"https://www.58pic.com/piccate/10-0-0-p1.html"headers = {'user-agent': 'my-test/0.0.1','Referer':'https://www.58pic.com/piccate/10-0-0-p1.html'}html = requests.get(url,headers).textsoup = BeautifulSoup(html, 'lxml')infoData = soup.find_all(name='a', attrs={'class': 'thumb-box'})num = len(infoData)for j in range(num):picinfo = str(infoData[j])if '''target="_blank"''' in picinfo:rex1 = re.compile("href=\"(.+?)\"")pic_url = rex1.findall(picinfo)[0]try:get_picInfo(pic_url)except:print('异常url是{}'.format(pic_url))
def get_picInfo(pic_url):headers = {'user-agent': 'my-test/0.0.1','Referer':'https://www.58pic.com/piccate/10-0-0-p1.html'}url = "https:"+pic_urlhtml = requests.get(url,headers).textsoup = BeautifulSoup(html, 'lxml')infoData = soup.find_all(name='img',attrs={'class':'show-area-pic'})num = len(infoData)img_title = ''img_info = ''for j in range(num):info = str(infoData[j])rex1 = re.compile("title=\"(.+?)\"")rex2 = re.compile("src=\"(.+?)\"")infoData1 = rex1.findall(info)[0]infoData2 = rex2.findall(info)[0]img_url = "http:"+infoData2img_title = infoData1+'.jpg'print(img_title,'--url--',img_url)if num > 1: #这里确认是图片被网站分成了两部分,暂时还没时间处理能拼接这两部分图片if j == 0:save_img('picture\\'+img_title,requests.get(img_url,headers).content)else:img_title = infoData1+str(j)+'.jpg'save_img('picture\\'+img_title,requests.get(img_url,headers).content)else:save_img('picture\\'+img_title,requests.get(img_url,headers).content)
test_pachong()

最后就是保存我们通过url拿到的图片源requests.get(img_url,headers).content,代码如下:

def save_img(file_name,img):
    '''保存图片'''
    with open (file_name,'wb') as save_img:
        save_img.write(img)
    print ('正在下载{}'.format(file_name))

Python图片抓取实操相关推荐

  1. python 图片抓取

    写个爬虫,抓点百度图片.本程序基于python3编写,可根据关键词抓取百度图片 下载的图片: 代码: import json import os import random import time i ...

  2. python学习-抓取知乎图片

    python学习-抓取知乎图片 #!/bin/usr/env python3__author__ = 'nxz'""" 抓取知乎图片 webdriver Chromedr ...

  3. Python爬虫之gif图片抓取

    Python爬虫之gif图片抓取 标签:图片爬虫 这几天,对于怎么去爬取图片很感兴趣,就研究了一下,图片爬虫可以说是有简单,更有复杂的,今天,我做了一个比较简单的gif的图片爬虫,仅仅学习一下怎么进行 ...

  4. python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片

    成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...

  5. 如何使用Python爬虫抓取数据?

    Python爬虫应用十分广泛,无论是各类搜索引擎,还是日常数据采集,都需要爬虫的参与.其实爬虫的基本原理很简单,今天小编就教大家如何使用Python爬虫抓取数据,感兴趣的小伙伴赶紧看下去吧! 工具安装 ...

  6. 全国Python科研应用专题实操培训班

    Python是一门简单的.解释型的.交互式的.可移植的.面向对象的编程语言.由于其语法简洁清晰,支持命令式编程.函数式编程,完全支持面向对象程序设计,近来在大数据分析与处理.深度学习.科学计算可视化及 ...

  7. python爬虫招聘-Python爬虫抓取智联招聘(基础版)

    原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...

  8. Python_百度图片以及百度贴吧图片抓取

    一.百度图片抓取 百度图片抓取存在两个难点: (1)没有翻页功能,只有下拉不断get新的img,这个暂时没有解决,据说可以通过selenium模块来模拟浏览器动作进行,暂未入手,只能抓取最开始get到 ...

  9. 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法

    这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...

最新文章

  1. 解决python2.x文件读写编码问题
  2. 今晚直播 | NeurIPS 2021论文解读:基于置信度校正的可信图神经网络
  3. 浅析session及小案例
  4. 线性系统的频率响应分析实验报告_动态系统的建模与分析
  5. 如何用 Blazor 实现 Ant Design 组件库(二)
  6. ubuntu12 04下django安装略谈
  7. 获奖者:舒继武,男,清华大学计算机系教授、博士生导师,教育部长江学者特聘教授,国家杰出青年基金获得者,《大数据》杂志编委。...
  8. Microsoft Visual C++ 2005 SP1无法安装
  9. CCF201609-3 炉石传说(100分)
  10. mysql命令的依赖库_3.EZMM工程(常用shell命令,及需要用到的基本依赖库)
  11. 关于new pad利用iPad12的资源缩放的问题 contentScaleFactor设置
  12. 初中计算机初识word教学设计,《初识Word》教学设计
  13. java 获取某一天的起始时间
  14. html好看的文字特效
  15. 前端学习笔记 - HTML+CSS
  16. linux目录和cat命令
  17. 关于QUIC协议的连接、重传、多路复用、流量控制
  18. Python 如何添加新列_我用Python写了个股票分析工具,真香啊!
  19. imperva更改8083端口的不安全连接证书
  20. html5 first child,childfirst

热门文章

  1. 8086汇编语言:标志寄存器的各个标志位的详细介绍
  2. 安卓游戏红利开发更多属于巨头
  3. Exception in thread“main“java.lang.IllegalArgument Exception:Unsupported class file major version 58
  4. 天下无贼-那一滴金砂的缘起缘落
  5. 关于scrollTop无效 解决方案
  6. 【WINDOWS / DOS 批处理】attrib命令详解(三)
  7. 微信小程序wx.downloadFile苹果手机失败显示 file data is empty的解决方案
  8. 普通简历与优秀简历的对比
  9. c语言程序10进制转2进制,C语言十进制数转换为二进制数
  10. Jmeter接口测试-文件上传/文件下载