# -*-coding:utf-8-*—
'''
题目描述:
用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-)
地址:
http://tieba.baidu.com/p/2166231880 思路:
用正则表达式匹配图片链接,然后进行下载 '''
'''
import re
import requests def main():
url = 'http://tieba.baidu.com/p/2166231880'
response = requests.get(url)
html = response.text
match = re.compile('img .*?src=\"(.*?)\"')
for i in match.findall(html):
if 'imgsrc' in i :
print i if __name__ == '__main__':
main()
''' import urllib2
import re
from os.path import basename
from urlparse import urlsplit url = "http://tieba.baidu.com/p/2166231880"
def getPage(url):
url=url+"?see_lz=1"
urlContent = urllib2.urlopen(url).read()
page='<span class="red">(.*?)</span>'
thePage=re.findall(page,urlContent)
return int(thePage[0])
def downImg(url):
urlContent = urllib2.urlopen(url).read()
spans='<cc>(.*?)</cc>'
ss=re.findall(spans,urlContent)
obImgs=','.join(ss)
imgUrls = re.findall('img .*?src="(.*?)"', obImgs)
for imgUrl in imgUrls:
print imgUrl
'''
try:
imgData = urllib2.urlopen(imgUrl).read()
fileName = basename(urlsplit(imgUrl)[2])
output = open(fileName,'wb')
output.write(imgData)
output.close()
except:
print "Er.."
'''
def downLoad(url):
numb=getPage(url)
cont=0
print "There are "+str(numb)+" pages."
while cont<numb:
cont+=1
print "Downloading "+url+"?see_lz=1&pn="+str(cont)+"..."
downImg(url+"?see_lz=1&pn="+str(cont))
print 'Completed!' downImg(url)

python练习册 每天一个小程序 第0013题的更多相关文章

  1. python练习册 每天一个小程序 第0001题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生 ...

  2. python练习册 每天一个小程序 第0007题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但 ...

  3. python练习册 每天一个小程序 第0000题

    PIL库学习链接:http://blog.csdn.net/column/details/pythonpil.html?&page=1 1 #-*-coding:utf-8-*- 2 __au ...

  4. python练习册 每天一个小程序 第0010题

    # -*-coding:utf-8-*- ''' 题目描述: 使用 Python 生成类似于下图中的字母验证码图片 思路: 运用PIL库加random 随机字母进行生成 ''' import rand ...

  5. python练习册 每天一个小程序 第0009题

    1 ''' 2 题目描述: 3 找出一个html文件中所有的url 4 5 思路 : 6 利用正则表达式进行匹配 7 8 ''' 9 10 11 import re 12 13 14 with ope ...

  6. python练习册 每天一个小程序 第0008题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 一个HTML文件,找出里面的正文. 6 7 思路: 8 利用Beautiful ...

  7. python练习册 每天一个小程序 第0006题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目描述: 5 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都 ...

  8. python练习册 每天一个小程序 第0005题

    1 # -*-coding:utf-8-*- 2 __author__ = 'Deen' 3 ''' 4 题目说明: 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小 ...

  9. python练习册 每天一个小程序 第0012题

    # -*-coding:utf-8-*- def test(content): text = content flag = 0 with open('filtered_words.txt') as f ...

随机推荐

  1. 申请免费的ssl通配符证书

    吐曹: 为了给我网站配置免费的htpps证书费死劲了, 折腾了一天, 找阿里阿里给我反馈的和我自己看的一样, 没什么用 我用Certbot生成证书以后怎么访问都是阿里的免费的hppts证书, 我都把阿 ...

  2. PHP和MySQL爱考的10道题

    PHP和MySQL爱考的10道题 来自<PHP程序员面试笔试宝典>,涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. 一.如何进行数据库优化? 数 ...

  3. 看SparkSql如何支撑企业数仓

    企业级数仓架构设计与选型的时候需要从开发的便利性.生态.解耦程度.性能. 安全这几个纬度思考.本文作者:惊帆 来自于数据平台 EMR 团队 前言 Apache Hive 经过多年的发展,目前基本已经成 ...

  4. JAVA8学习——Stream底层的实现四(学习过程)

    Stream的深入(四) 从更高角度去看一下:类与类之间的设计关系 (借助IDEA的图形处理工具 Ctrl+Alt+U). ReferencePipeline的三个实现的子类: Head Statel ...

  5. OC之判断数组最大最小值

    超简单的筛选方法 array为你筛选的数组 NSNumber * max = [Array valueForKeyPath:@"@max.floatValue"]; NSNumbe ...

  6. tomcat 配置https证书 ssl

    修改tomcat-conf-server.xml,原配置文件是 <Connector connectionTimeout="20000" port="8080&qu ...

  7. 为什么说国产BI更适合国内企业?

    ​就算国外BI发展迅速,产品更加完善成熟,但对国内的企业来说,使用起来难免"水土不服",何况还有服务对接过程中的繁琐程.今天就来讨论一下,国内BI和国外BI到底该怎么选择? 国外B ...

  8. ACM训练,大理石在哪儿?

    int p = lower_bound(a, a+num, x) - a; //在已排序数组a中查找大于或等于x的第一个位置 lower_bound( )返回的是一个迭代器,-a相当于减去a的首地址, ...

  9. Excel VBA中写SQL,这些问题的方法你一定要牢记

    小爬之前的文章 [Excel VBA中写SQL,这些问题你一定为此头痛过]中详细讲诉了一些常见的VBA 中使用SQL遇到的问题,这里再补充两个常见的问题场景及对应的解决方案,希望你们看了后能够思路开阔 ...

  10. JZ-015-反转链表

    反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头. 题目链接: 反转链表 代码 /** * 标题:反转链表 * 题目描述 * 输入一个链表,反转链表后,输出新链表的表头. * 题目链接: ...