python练习册 每天一个小程序 第0013题
2024-09-04 09:22:08
# -*-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)
最新文章
- 如何安装appium-linux
- .net学习笔记--使用抽象方法实现多态
- golang开发缓存组件
- Linux简介及常用命令使用2--linux常用命令:查看 删除 编辑 创建等
- Windows 下安装使用docker swarm machine docker toolbox
- 简介AngularJS中使用factory和service的方法
- Hibernate中的脏检查和缓存清理机制
- [转]网络时间的那些事及 ntpq 详解
- SQL CAST, CONVERT 比较
- HTML的盒子模型
- setValue 和 setObject 的区别
- AOJ 0558 广度优先搜索
- Long,String类型的两个值进行比较,注意点!!!
- Android学习笔记之Service
- vue 设计日历表
- P2447 [SDOI2010]外星千足虫 (高斯消元)
- 扒一扒.net、.net framework、mono和Unity
- 3分钟快速presentation
- div锚点链接跳转
- 001.Linux网路配置