python完成网页下载(包括图片和css)
2013-06-07 20:10
393 查看
import urllib2 import os from bs4 import BeautifulSoup import re siteUrls = " " url = "http://www.sina.com.cn" def getContent(url): content = urllib2.urlopen(url).read() content = writeCss(url,content) content = writefileName(url,content) fileNames = re.findall(r'/[^\?]*\?([^/|^\?]*)$',url) fileName = fileNames[0] print fileName f = file(fileName+".html",'w') f.write(content) f.close() def writeCss(url,content): soup = BeautifulSoup(content) csss = soup.findAll('link',attrs={'type':'text/css'}) css_pat = re.compile('.*/(.*)\.css') fileNames = re.findall(r'/[^\?]*\?([^/|^\?]*)$',url) fileName = fileNames[0] print fileName for css in csss: cssnames = re.findall(r'.*/(.*)\.css',str(css)) cssurls = re.findall(r'.*href=\"([^\"]*)\"',str(css)) # print cssnames[0] # print cssurls[0] cssurl = "http://review.artintern.net/" + cssurls[0] # print cssurl content = content.replace(cssurls[0],fileName + "/" + cssnames[0]+".css") print os.path.isdir(fileName) if not os.path.isdir(fileName): os.mkdir(fileName) csscontent = urllib2.urlopen(cssurl).read() cssNewName = fileName+"/"+cssnames[0]+".css" cssfile = file(cssNewName,'w') cssfile.write(csscontent) cssfile.close() return content def writefileName(url,content): soup = BeautifulSoup(content) imgs = soup.findAll('img') img_pat = re.compile('.*/(.*)\.[jpg|gif]') fileNames = re.findall(r'/[^\?]*\?([^/|^\?]*)$',url) fileName = fileNames[0] for img in imgs: imgNames = re.findall(r'.*/(.*)\.[jpg|gif]',str(img)) imgType = re.findall(r'.*/.*\.([^ ]*)"',str(img)) imgUrls = re.findall(r'.*src=\"([^\"]*)\"',str(img)) # print imgNames[0] # print imgType[0] # print imgUrls[0] imgUrl = "http://review.artintern.net/" + imgUrls[0] # print imgUrl content = content.replace(imgUrls[0],fileName+"/"+imgNames[0]+"."+imgType[0]) if not os.path.isdir(fileName): os.mkdir(fileName) imgContent = urllib2.urlopen(imgUrl).read() imgNewName = fileName+"/"+imgNames[0]+"."+imgType[0] imgfile = file(imgNewName,'w') imgfile.write(imgContent) imgfile.close() return content getContent(url)
相关文章推荐
- Python小脚本 002 批量下载网页链接中的图片
- python下载网页图片(2)
- 用python写的下载网页中的图片
- Python获取网页上图片下载地址的方法
- python3 网页爬虫图片下载无效链接处理 try except
- python批量下载网页图片及列表
- 【转】python下载网页图片代码
- 用Python3下载网页图片
- python下载网页图片方法总结(含打开网页提示下载)
- Python下载网页图片
- python爬虫一:必应图片(从网页源代码中找出图片链接然后下载)
- Python入门小练习 002 批量下载网页链接中的图片
- [python][urllib] 下载网页上的图片
- 完成一个应用,用户可以根据自己输入的地址下载网络上的图片和网页信息
- 使用python和java两种方式来完成下载网页,并保存成文件,
- 【python】下载51blog的所有文章(包括图片)
- Python3实现Web网页图片下载
- Python3.x爬虫下载网页图片的实例讲解
- 安卓完成一个应用,用户可以根据自己输入的地址下载网络上的图片和网页信息
- python 下载指定网页上得图片