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实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
Python聊天室程序(基础版)
Apr 01 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
用Python画一个LinkinPark的logo代码实例
Sep 10 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
Python如何输出百分比
Jul 31 Python
10张动图学会python循环与递归问题
Feb 06 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提取中文首字母
2008/04/09 PHP
PHP技术开发技巧分享
2010/03/23 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
python开发中range()函数用法实例分析
2015/11/12 Python
Windows下python3.7安装教程
2018/07/31 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
一个入门级python爬虫教程详解
2021/01/27 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
如何开启linux的ssh服务
2015/02/14 面试题
教师演讲稿范文
2014/01/08 职场文书
图书室管理制度
2014/01/19 职场文书
制作部班长职位说明书
2014/02/26 职场文书
护士求职信
2014/07/05 职场文书
关于教师节的广播稿
2014/09/10 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
副总经理岗位职责
2015/02/02 职场文书
聘任书范文大全
2015/09/21 职场文书
幼儿园小班教学反思
2016/03/03 职场文书