Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
作者:c无常 发布时间:2023-11-04 19:44:17
标签:Python,爬虫,抓取,美女图片
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/cch1024/article/details/54601106


猜你喜欢
- 由于 Ubuntu 中的汉字输入实在是太不友好了,所以装了个 搜狗输入法,好不容易把 搜狗输入法装好,本以为可以开开心心的搞代码了,然而。。
- 首先请把手放胸前成沉思状:我上了生活,还是被生活上了自己?没想出答案把,恩,可以读下文了。从语义角度讲,同一事物的不同表述可以反映人的主观视
- 我们在爬虫时,经常会遇见中文乱码问题,之前都是编码格式的问题,很少遇见由于压缩格式造成的编码混乱问题,特记录下。先看下混乱的编码样式。b
- Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。在 Linux、BSD 或 Mac 的终
- 问题一:在安装时候输入 net start mysql 时候报错为:net不是内部或外部命令也不是可运行。解决方法: 环境变量的问题:首先确
- python除法负数商的取整方式与C++不同python:5 / -2 = -3若想和C++行为相同,可以使用 int(operator.t
- 阅读上一篇文章《WEB2.0网页制作标准教程(5)head区的其他设置》在开始正式内容制作之前,我们必须先了解一下web标准有关代码的规范。
- 引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册。 在网上找了很久都是说从.net命令行工
- 关于 pynput pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要
- 实例1、取得MYSQL的版本在windows环境下安装mysql模块用于python开发MySQL-python Windows下EXE安装
- Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件。 查找下面的语句:;extension=php
- ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86、64位和ppc架构。一个比较流行的Linux操
- 问题怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素解决方案下面的类利用 heapq 模块
- js代码:$(".head").change(function() {var val = $(this).val();i
- 什么是类,对象,实例,类## 标题变量(类属性),实例变量(实例属性)面向对象编程(Object-oriented Programming,
- mysql在5.1之后增加了存储过程的功能, 存储过程运行在mysql内部,语句都已经编译好了,速度比sql更快. 存储过程与mysql相当
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- 脚本过于简单,供学习和参考。主要了解一下smtplib库的使用和超时机制的实现。使用signal.alarm实现超时机制。#!/usr/bi
- 凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过S
- mysql使用left join连接出现重复问题描述在使用连接查询的时候,例如以A表为主表,左连接B表,我们期望的是A表有多少条记录,查询结