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网络编程学习笔记(一)
Jun 09 Python
Python中AND、OR的一个使用小技巧
Feb 18 Python
在Python的web框架中配置app的教程
Apr 30 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
python opencv之SURF算法示例
Feb 24 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
Dec 12 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
简单介绍python封装的基本知识
Aug 10 Python
Python argparse模块应用实例解析
Nov 15 Python
Python reversed函数及使用方法解析
Mar 17 Python
Python可以用来做什么
Nov 23 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
php利用cookie实现访问次数统计代码
2011/05/19 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
Python实现的一个简单LRU cache
2014/09/26 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
浅谈django channels 路由误导
2020/05/28 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
酒店办公室文员岗位职责
2013/12/18 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
自我鉴定总结
2014/03/24 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
python开发飞机大战游戏
2021/07/15 Python
海弦WR-800F
2022/04/05 无线电