Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】


Posted in Python onAugust 30, 2018

本文实例讲述了Python使用爬虫抓取美女图片并保存到本地的方法。分享给大家供大家参考,具体如下:

图片资源来自于www.qiubaichengren.com

代码基于Python 3.5.2

友情提醒:血气方刚的骚年。请

谨慎阅图!
谨慎阅图!!
谨慎阅图!!!

code:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import urllib
import urllib.request
import re
from urllib.error import URLError
class QsSpider:
  def __init__(self):
    self.user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    self.header = {'User-Agent': self.user_agent}
    self.save_dir = './pic'
    self.url = 'http://www.qiubaichengren.com/%s.html'
  def start(self):
    for i in range(1, 10):
      self.load_html(str(i))
  def load_html(self, page):
    try:
      web_path = self.url % page
      request = urllib.request.Request(web_path, headers=self.header)
      with urllib.request.urlopen(request) as f:
        html_content = f.read().decode('gb2312')
        # print(html_content)
        self.pick_pic(html_content)
    except URLError as e:
      print(e.reason)
    return
  def save_pic(self, img):
    print(img)
    save_path = self.save_dir + "/" + img.replace(':', '@').replace('/', '_')
    if not os.path.exists(self.save_dir):
      os.makedirs(self.save_dir)
    print(save_path)
    urllib.request.urlretrieve(img, save_path)
    pass
  def pick_pic(self, html_content):
    regex = r'src="(http:.*?\.(?:jpg|png|gif))'
    patten = re.compile(regex)
    pic_path_list = patten.findall(html_content)
    for i in pic_path_list:
      self.save_pic(str(i))
      print(i)
spider = QsSpider()
spider.start()

代码运行后可得到如下N多大饱眼福的美女图:

Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python的正则表达式re模块的常用方法
Mar 09 Python
python统计字符串中指定字符出现次数的方法
Apr 04 Python
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
Django中URLconf和include()的协同工作方法
Jul 20 Python
Python2.x版本中基本的中文编码问题解决
Oct 12 Python
python 简单的多线程链接实现代码
Aug 28 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
Keras实现DenseNet结构操作
Jul 06 Python
Python同时迭代多个序列的方法
Jul 28 Python
pytorch显存一直变大的解决方案
Apr 08 Python
Python使用一行代码获取上个月是几月
Aug 30 #Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 #Python
python实现录音小程序
Oct 26 #Python
Python图像处理之简单画板实现方法示例
Aug 30 #Python
浅析python中numpy包中的argsort函数的使用
Aug 30 #Python
浅析python3中的os.path.dirname(__file__)的使用
Aug 30 #Python
python语音识别实践之百度语音API
Aug 30 #Python
You might like
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
js实现文字截断功能
2016/09/14 Javascript
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
浅谈node的事件机制
2017/10/09 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
自荐信的两点禁忌
2013/10/30 职场文书
授权委托书样本
2014/09/25 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
Python基础之元编程知识总结
2021/05/23 Python