文档章节

python 获取css,图片 思想

xper
 xper
发布于 2015/12/07 17:39
字数 246
阅读 25
收藏 0
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)


© 著作权归作者所有

共有 人打赏支持
xper
粉丝 2
博文 9
码字总数 14194
作品 0
普陀
程序员
私信 提问
学python就知道天天爬妹子图,营养是真的跟不上啊

作为Python的初学者,爬虫肯定是入门的不二选择,既能熟悉语法,又能通过爬虫了解一定的网络编程知识。 标网站:www.mmjpg.com 如果你现在已经打开了这个网站,求求你们,把持住自己!!! ...

python达人
2018/04/11
0
0
建站四部曲之Python爬虫+数据准备篇(selenium)

本系列分为四篇: 建站四部曲之后端接口篇(SpringBoot+上线) 建站四部曲之Python数据爬虫篇(selenium) 建站四部曲之前端显示篇(React+上线) 建站四部曲之移动端篇(Android) 零、前言 ...

张风捷特烈
2018/12/12
0
0
html转word

任务:线上html数据转成word 要求:转换的word格式和html一致(既能识别html的CSS样式) 语言:最好java或python语言 备注:我们有一套python转换代码,面临识别css样式和图片居中的问题,也...

小源帅帅的
2017/10/30
2
0
Python3好用的原生api

读取特定目录下所有的文件夹, 和文件名 os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现...

木子昭
2018/07/31
0
0
Python爬虫入门:爬虫基础了解

有粉丝私信我想让我出更基础一些的,我就把之前平台的copy下来了,可以粗略看一下,之后都会慢慢出。 1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一...

天才小熊猫QAQ
2017/10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

容器服务

简介 容器服务提供高性能可伸缩的容器应用管理服务,支持用 Docker 和 Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。 产品架构 容器服务...

狼王黄师傅
昨天
3
0
高性能应用缓存设计方案

为什么 不管是刻意或者偶尔看其他大神或者大师在讨论高性能架构时,自己都是认真的去看缓存是怎么用呢?认认真真的看完发现缓存这一块他们说的都是一个WebApp或者服务的缓存结构或者缓存实现...

呼呼南风
昨天
12
0
寻找一种易于理解的一致性算法(扩展版)

摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可...

Tiny熊
昨天
2
0
聊聊GarbageCollectionNotificationInfo

序 本文主要研究一下GarbageCollectionNotificationInfo CompositeData java.management/javax/management/openmbean/CompositeData.java public interface CompositeData { public Co......

go4it
昨天
3
0
阿里云ECS的1M带宽理解

本文就给大家科普下阿里云ECS的固定1M带宽的含义。 “下行带宽”和“上行带宽” 为了更好的理解,需要先给大家解释个词“下行带宽”和“上行带宽”: 下行带宽:粗略的解释就是下载数据的最大...

echojson
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部