由于是只用标准库,装了python3运行本代码就能下载到多多的美女图...

写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完。

测试发现速度一般,200K左右的下载速度,也没有很好的错误处理。不过还是基本上能用。以后继续改进。

写出抓取东西的程序,比写其它程序要开心很多。_,大家也来试试写一个?

"""
python抓取性感尤物美女图.py
2016年5月4日 00:51:00 codegay 参考资料: Python3学习笔记(urllib模块的使用)
http://www.cnblogs.com/Lands-ljk/p/5447127.html 以下例子是python2的代码,并且用到lxml,requests 库
我用python3标准库和正则写一个下载全站美女图的程序 使用python来批量抓取网站图片
http://www.cnblogs.com/TeyGao/p/5225940.html
"""
print("程序运行中...")
import re
from urllib import request
import os
from pprint import pprint
from time import sleep rooturl="http://www.xgyw.cc/" def getclass():
rec=re.compile('''align=center\>\<a href="(/\w+/)\"\>(.+)\</a\>''')
try:
txt=request.urlopen(rooturl).read().decode("gbk")
fl=rec.findall(txt)
except:
print("错误")
sleep(1) print("分类:")
pprint(fl)
return fl
fenlei=getclass()#下载所有分类下的图片
#fenlei=[getclass()[-1]]#只下载推女郎 def getpagelist():
plist=[]
for f,n in fenlei:
rec=re.compile('''({}page_\d+?\.html)'''.format(f))
try:
txt=request.urlopen(rooturl+f).read().decode("gbk")
t=sorted(set(rec.findall(txt)+[f]))
plist+=t
except:
print("错误",e)
sleep(1) #print("page_list:")
#pprint(plist)
return plist
pagelist=getpagelist() def getalbumlist():
albumlist=[]
for r in pagelist:
print(rooturl+r)
try:
txt=request.urlopen(rooturl+r).read().decode("gbk")
for x in re.findall(r'''href=(/(\w+)/(\2)\d+.html)''',txt):
albumlist+=[x[0]]
except:
print("getalbumlist错误")
sleep(1)
return albumlist
albumlist=getalbumlist() def getfphoto(): for r in albumlist:
try:
txt=request.urlopen(rooturl+r).read().decode("gbk")
result=re.findall(r'''(/(\w+)/(\2)\d+_?\d*.html)''',txt)
except:
sleep(1) pass
for x in result:
try:
html=request.urlopen(rooturl+x[0]).read().decode("gbk")
jpgresult=re.findall('''src=\"(/uploadfile.*?\d+/\w+\.jpg)\"''',html)
print(jpgresult)
except:
sleep(1)
for h in jpgresult:
try:
request.urlretrieve(rooturl+h,os.path.basename(h))
except:
print(3)
sleep(1) getfphoto()

python抓取性感尤物美女图的更多相关文章

  1. 教你用python爬取网站美女图(附代码及教程)

    我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...

  2. 【Python爬虫程序】抓取MM131美女图片,并将这些图片下载到本地指定文件夹。

    一.项目名称 抓取MM131美女写真图片,并将这些图片下载到本地指定文件夹. 共有6种类型的美女图片: 性感美女 清纯美眉 美女校花 性感车模 旗袍美女 明星写真 抓取后的效果图如下,每个图集是一个独 ...

  3. 使用Python抓取猫眼近10万条评论并分析

    <一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...

  4. python抓取知乎热榜

    知乎热榜讨论话题,https://www.zhihu.com/hot,本文用python抓取下来分析 #!/usr/bin/python # -*- coding: UTF-8 -*- from ur ...

  5. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  6. 使用 Python 抓取欧洲足球联赛数据

    Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤    数据的采集和获取    数据的清洗,抽取,变形和装载    数据的分析,探索和预测    ...

  7. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

  8. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

  9. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

随机推荐

  1. hiho_1044 状态压缩

    题目大意 给定N个位置,每个位置i都有一个value[i]值,从中选择若干个位置,使得连续的M个位置中的被选中的位置数目不超过Q,求出所有选择方案中value和最大的方案,输出其最大value和. 分 ...

  2. 【转】loading 三种实现方式

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如 ...

  3. ODS浅谈

    ODS和DW 根据Bill.Inmon的定义,“数据仓库是面向主题的.集成的.稳定的.随时间变化的,主要用于决策支持的数据库系统”  : ODS (Operational Data Store)操作型 ...

  4. js里面获取三位不重复值

    <html><body> <script type="text/javascript"> var d = new Date();var sz = ...

  5. div contenteditable placeholder

    contenteditable型的编辑框,实现placeholder的方式有两种 第一种,Css的实现方式: <!DOCTYPE html> <html lang="en& ...

  6. Qt之Timers

    简述 QObject是所有Qt objects的基类,在Qt中提供了基础定时器的支持.使用QObject::startTimer(),你可以传递一个毫秒数间隔作为参数启动一个定时器.该函数返回一个唯一 ...

  7. C/C++深度copy和浅copy

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  8. CF---(452)A. Eevee

    A. Eevee time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  9. ARM汇编中的标号

    标号(LABEL)是为一组机器指令所起名字,表示程序中的指令或者数据地址的符号.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号.通过在目标地址的前面放上一个标号,可以在指令中使用 ...

  10. 【如何快速的开发一个完整的iOS直播app】(推流篇)

    前言 在看这篇之前,如果您还不了解直播原理,请查看这篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如 ...