python抓取性感尤物美女图
由于是只用标准库,装了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抓取性感尤物美女图的更多相关文章
- 教你用python爬取网站美女图(附代码及教程)
我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...
- 【Python爬虫程序】抓取MM131美女图片,并将这些图片下载到本地指定文件夹。
一.项目名称 抓取MM131美女写真图片,并将这些图片下载到本地指定文件夹. 共有6种类型的美女图片: 性感美女 清纯美眉 美女校花 性感车模 旗袍美女 明星写真 抓取后的效果图如下,每个图集是一个独 ...
- 使用Python抓取猫眼近10万条评论并分析
<一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...
- python抓取知乎热榜
知乎热榜讨论话题,https://www.zhihu.com/hot,本文用python抓取下来分析 #!/usr/bin/python # -*- coding: UTF-8 -*- from ur ...
- Python 抓取网页并提取信息(程序详解)
最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...
- 使用 Python 抓取欧洲足球联赛数据
Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 ...
- python抓取网页例子
python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
- 如何用python抓取js生成的数据 - SegmentFault
如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...
随机推荐
- 论APP测试中黑盒测试方案的重要性?
运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而于测试人员而言,制定正确的测试方案,就是日后测试就是是否顺利的决定性因素. 在整个测试过程中,对测试人员.资源以及 ...
- Cache模拟器(CacheSim)
最近写了一个Cache的模拟器,由于平时空余时间比较分散,前前后后用了一周多的时间,基本实现的Cache的模拟功能(通过读取trace文件得到相应的命中率),能够实现直接映射.全相联.组相联三种 ...
- DI 之 3.1 DI的配置使用(肆)
3.1.1 依赖和依赖注入 传统应用程序设计中所说的依赖一般指"类之间的关系",那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系.接口与接口之间的继承关系: 实现 ...
- js时间显示设置
//对日期中部分小于10的数字前边添加0 function zero(s){ return s < 10 ? '0' + s: s; } var date=new Date(), year = ...
- MySQL 加锁处理分析
1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2P ...
- 登陆验证前对用户名和密码加密之后传输数据---base64加密
以下这种方法是加密传输的简单实现 1,base64.js /** * * Base64 encode / decode * * */ function Base64() { // private pr ...
- AngularJS开发经验(转)
AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让 ...
- TokuDB介绍——本质是分形树(一个叶子4MB)+缓存减少写操作
其性能特点见:http://www.cnblogs.com/billyxp/p/3567421.html TokuDB 是一个高性能.支持事务处理的 MySQL 和 MariaDB 的存储引擎.Tok ...
- com组件接口
int main( int argc, char *argv[] ) { cout << "Initializing COM" << endl; ...
- 为不同浏览器创建XMLHttpRequest对象
/*声明一个XMLHttpRequest对象*/ var xmlHttp=false; /*@cc_on@*/ /*if(@_jscript_version>=5) try { xmlHttp= ...