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 多线程应用介绍
Dec 19 Python
python进阶教程之模块(module)介绍
Aug 30 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
python cumsum函数的具体使用
Jul 29 Python
python getpass模块用法及实例详解
Oct 07 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
python列表生成器迭代器实例解析
Dec 19 Python
Python修改列表值问题解决方案
Mar 06 Python
Softmax函数原理及Python实现过程解析
May 22 Python
Python函数中apply、map、applymap的区别
Nov 27 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 获取ip地址代码汇总
2015/07/05 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python函数装饰器实现方法详解
2018/12/22 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
一些关于MySql加速和优化的面试题
2014/01/30 面试题
档案接收函范文
2014/01/10 职场文书
还款承诺书范本
2015/01/20 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
2015双创工作总结
2015/07/24 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
Tomcat配置访问日志和线程数
2022/05/06 Servers