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 numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
python实现BP神经网络回归预测模型
Aug 09 Python
python使用opencv实现马赛克效果示例
Sep 28 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
python zip,lambda,map函数代码实例
Apr 04 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
快速了解Python开发环境Spyder
Jun 29 Python
python 如何快速复制序列
Sep 07 Python
新手必备Python开发环境搭建教程
May 28 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时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
Python with的用法
2014/08/22 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Python3 元组tuple入门基础
2020/02/09 Python
Python递归实现打印多重列表代码
2020/02/27 Python
Python Json数据文件操作原理解析
2020/05/09 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
学生的自我鉴定范文
2013/10/24 职场文书
文化活动实施方案
2014/03/28 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
张丽莉观后感
2015/06/16 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript