# -*-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)

最新文章

  1. 如何安装appium-linux
  2. .net学习笔记--使用抽象方法实现多态
  3. golang开发缓存组件
  4. Linux简介及常用命令使用2--linux常用命令:查看 删除 编辑 创建等
  5. Windows 下安装使用docker swarm machine docker toolbox
  6. 简介AngularJS中使用factory和service的方法
  7. Hibernate中的脏检查和缓存清理机制
  8. [转]网络时间的那些事及 ntpq 详解
  9. SQL CAST, CONVERT 比较
  10. HTML的盒子模型
  11. setValue 和 setObject 的区别
  12. AOJ 0558 广度优先搜索
  13. Long,String类型的两个值进行比较,注意点!!!
  14. Android学习笔记之Service
  15. vue 设计日历表
  16. P2447 [SDOI2010]外星千足虫 (高斯消元)
  17. 扒一扒.net、.net framework、mono和Unity
  18. 3分钟快速presentation
  19. div锚点链接跳转
  20. 001.Linux网路配置

热门文章

  1. 3、前端--伪元素选择器、选择器优先级、字体、背景、边框、display、盒子模型
  2. Graph Based SLAM 基本原理
  3. Java不支持协程?那是你不知道Quasar!
  4. 你所不知道的 C# 10新特性
  5. jmeter参数化文件路径问题
  6. Windows系统散列值获取分析与防范
  7. SQL SERVER 学习过程(一)
  8. 【C# 线程】WaitHandle类
  9. Iptables 防火墙常用配置
  10. xls/csv文件转换成dbf文件