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中的__new__()方法的使用
Apr 09 Python
Python中实现参数类型检查的简单方法
Apr 21 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
高效使用Python字典的清单
Apr 04 Python
从django的中间件直接返回请求的方法
May 30 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
Pytorch的mean和std调查实例
Jan 02 Python
Django中modelform组件实例用法总结
Feb 10 Python
一劳永逸彻底解决pip install慢的办法
May 24 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
一个简单计数器的源代码
2006/10/09 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
指导教师评语
2014/04/26 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
教师考察材料范文
2014/06/03 职场文书
网络管理员岗位职责
2015/02/12 职场文书
写给导师的自荐信
2015/03/06 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
简单聊聊Golang中defer预计算参数
2022/03/25 Golang