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的ORM框架SQLAlchemy入门教程
Apr 28 Python
浅析Python中的多重继承
Apr 28 Python
基于Python实现用户管理系统
Feb 26 Python
python使用pymongo操作mongo的完整步骤
Apr 13 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
python写一个随机点名软件的实例
Nov 28 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
Python项目跨域问题解决方案
Jun 22 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
关于的python五子棋的算法
May 02 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
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
UCenter Home二次开发指南
2009/05/28 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP中的self关键字详解
2019/06/23 PHP
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
django删除表重建的实现方法
2019/08/28 Python
Django获取应用下的所有models的例子
2019/08/30 Python
如何在sublime编辑器中安装python
2020/05/20 Python
python解释器安装教程的方法步骤
2020/07/02 Python
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
历史教育专业个人求职信
2013/12/13 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
Python 中random 库的详细使用
2021/06/03 Python
常用的Python代码调试工具总结
2021/06/23 Python
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏