当前位置: 首页 > news >正文

phpwind 手机网站模板建立网站的英文短语

phpwind 手机网站模板,建立网站的英文短语,怎么建设微信网站,英文网站建设目的#!/usr/bin/python #调用pythonfrom sys import argv #导入sys是导入python解释器和他环境相关的参数from os import makedirs,unlink,sep  #os主要提供对系统路径#xff0c;文件重命名和删除文件所需的函数#makedirs是创建递归文件夹的函数。#比如说我们要创建一个新的目录…#!/usr/bin/python #调用pythonfrom sys import argv #导入sys是导入python解释器和他环境相关的参数from os import makedirs,unlink,sep  #os主要提供对系统路径文件重命名和删除文件所需的函数#makedirs是创建递归文件夹的函数。#比如说我们要创建一个新的目录/python/HTML/crawl,但是目前这三个文件夹都不存在如果使用mkdir命令的话需要使用三次才能完成#但是使用os.makedir只需使用一次就可以创建好整个目录。#os.makedirs(os.path.join(os.erviron[HOME],python,HTML,crawl)#os.unlink(path)删除file路径和remove()相同。#sep os.sep系统用此来分割路径名from os.path import dirname,exists,isdir,splitext#使用os中的这些模块来提取dirname路径名exists,isdir是文件类型测试测试是否是一个目录splitext是将文件名和文件后缀分离。分成目录文件名和后缀两部分。from string import replace,find,lower  #导入string模块用于字符串的替换查找和小写化。from htmllib import HTMLParserfrom urllib import urlretrieve  #urlretrieve()函数用于将HTML文件整个下载到你的本地硬盘中去。from urlparse import urlparse,urljoin  #urlparse用于将URL分解成6个元素,而urljoin用于将baseurl和newurl组合在一起from formatter import DumbWriter,AbstractFormatter  #formatter函数主要用于格式化文本from cStringIO import StringIO  #调用cStringIO函数对内存中的文件进行处理#Retriever类负责从网上下载网页并对每一个文档里面的连接进行分析如果符合下载原则就添加到“待处理”队列中。#从网上下载到的每个主页都有一个与之对应的Retriever实例。Retriever有几个帮助实现功能的方法分别是#构造器(__init__()),filename(),download()和parseAndGetLinks()。class Retriever:def __init__(self,url):#定义构造器指向当前类的当前实例的引用。self 指向新创建的对象另外一个参数是url.#构造器实例化一个Retriever对象并且把URL字符串和从filename()返回的与之对应的文件名保存为本地属性。self.urlurl  #将url的值付给self.urlself.fileself.filename(url)def filename(self,url,deffileindex.html):  #定义filename方法涉及另外两个参数url,deffile,很明显deffile是后缀parsedurlurlparse(url,http:,0)urlparse(urlstr,defProtschNone,allowFragNone),defProtsch定义了缺醒的网络协议和下载方式allow是一个表示是否允许在URL中使用不完整成分的操作标志。allow_fragment如果是false,即使在URL addressing scheme支持fragment identifiers得情况下fragment identifiers也不允许默认情况下fragment的默认值是true.pathparsedurl[1]parsedurl[2]从urlparse分离出来的六个元素分别是(prot_shc,net_loc,path,params,query,frag).parseurl[1]是net_loc,parseurl[2]是path.和在一起正好是整个路径extsplitext(path)将path分解成目录文件名和后缀标志。if ext[1]:如果没有文件。ext是一个字符串ext[0]就是目录文件名而ext[1]就是后缀名说明没有后缀if path[-1]/:并且path是比如说是以我的博客为例http://blog.csdn.net/yangwenchao1983分离后path[-1]3,也就是字符串的最后一个字母如果是/说明有文件内容pathpathdeffile如果URL没有尾缀的文件名就用缺性的index.html“作为文假名可以说是一个主王爷上面有各种文件公下载现在没有合适的文件我们酒吧index.html作为补充。else:pathpath/deffile  #如果是一个完整的文件名我们需要在后面加上/index.html  如果不含有/符号的话dirdirname(path)  #提取path字符串的目录名称if sep!/:  #如果文件的分割符不是/dirreplace(dir,/,sep)  #将dir中的/替换成分割符/if not isdir(dir):  #使用isdir辨别文件类型不是目录。if exists(dir): unlink(dir)  #如果不是目录文件就是用unlink移除makedirs(dir)  #重新使用makedirs创建目录文件return path  #返回经过整理的路径def download(self):  #定义download()方法使用try...except...来进行异常处理try:retvalurlretrieve(self.url,self.file)urlretrieve()不像urlopen()那样对URL进行读操作它只是简单的把位于urlstr处的HTML文件整个下载到你的本地硬盘中去如果没有给出localfile,它就会把数据保存到一个临时文件中去。很明显这行程序的意思就是将self.url从望上的某个地方拷贝到硬盘的self.file中去。except IOError:如果文件不存在就会引发IOerror,retval(***ERROR: invalid URL %s %\self.url,)没有在有效的网址上找到这个文件就将***ERROR: invalid URL %s打印出来return retval  #返回得到的文件def parseAndGetLinks(self):如果上面的的处理没有发现任何错误就会调用parseAndGetLinks()对新下载打破的主页进行分析确定对那个主页上的每一个连接应该采取什么样的行动。self.parserHTMLParser(AbstractFormatter(DumbWriter(StringIO())))使用HTMLParser的方法进行处理,StringIO是从内存中读取数据DumbWriter将事件流转换为存文本文档。self.parser.feed(open(self.file).read())将self.file文件打开并且一次性读入上面定义的的文件中去self.parser.close()  #关闭文件return self.parser.anchorlist  #返回地址和日期class Crawler:Crawler由三个数据项组成这三个数据项是由构造器在实例化阶段报存在这里的。count 0   #静态下载主页计数器def __init__(self,url):self.q[url]第一个数据是q,这是一个有下载连接组成的队列这个清单在执行过程中是会变化的没处理一个主页它就缩短一次而在各下载主页中发现一个新的连接就会被加长。self.seen[]Crawler的另外两个数据项包括seen-这是我们已经下载过的全体连接所组成的一个列表self.domurlparse(url)[1]把主连接的域名报存在dom中用这个值核对后续连接是否属于这同一个区域。def getPage(self,url):getPage()方法用第一个连接实例化出一个Retriever对象从她开始进行后续的处理。rRetriever(url)使用上面定义过得Retriever类付给r。retvalr.download()  #下载网页连接if retval[0]*:print retval,...skipping parsereturnCrawler.countCrawler.count1Crawler还有一个静态数据叫做count。这个计数器的作用就是记录我们呢已经从望红色那个下载到的对象的个数每成功下载一个主页就让它增加一个数。print \n(,Crawler.count,)print URL:,urlprint FILE:,retval[0]self.seen.append(url)linksr.parseAndGetLinks()for eachLink in Links:if eachLink[:4]!http and find(eachLink,://)-1print *,eachLink以下链接将被忽略不会被添加到待处理队列里去的属于另外一个域的连接已经被下载过得链接已经放入待处理队列里去的连接或者是mailto:连接。if find(lower(eachLink),mailto:)!-1:应该是超连接print ...discard,mailto linkcontineif eachlink not in self.seen:if find(eachLink,self.dom)-1:print ...discarded,not in domainelse:if eachLink not in self.q:self.q.append(eachLink)print ...new,aded to Qelse:print ...discarded,already in Qelse:print ...discarded,already processeddef go(self):while self.q:urlself.q.pop()self.getPage(url)def main():if len(argv)1:urlargv[1]else:try:urlraw_input(Enter starting URL:)except(KeyboardInterrupt,EOFError):urlif not url: returnrobotCrawler(url)robot.go()if __name____main__:main()main()只有在这个脚本程序在直接被调用时才会执行它是程序的出发点其他导入了crawl.py的模块需要明确的调用main()才能开始处理。要让main()开始执行需要给它一个URL如果已经在一个命令行给出URL(例如我们直接调用这个脚本程序的时候)它就会从给定的URL起开始运行否则脚本程序将进入交互模式提示用户输入一个URL。有了初始连接之后程序将对Crawler类进行实例化并开始执行。
http://www.zqtcl.cn/news/973157/

相关文章:

  • 年度网站建设工作总结制作微信小程序需要什么技术
  • wordpress打字不显示图片wordpress 访问优化
  • 太原网站建设方案咨询网站开发公司的选择
  • 广西网站建设设计大连嘉良建设有限公司网站
  • 白名单查询网站网站建设改变某个表格大小
  • 青岛网站开发公司电话百度投放
  • 唐山玉田孤树做宣传上什么网站百度推广有效果吗
  • 亚马逊网站特点佛山营销型网页设计
  • 网站建设 长沙开福区做百度移动网站排名软
  • 广州购物网站建设在线解压网站
  • 网站建设教学方法探究购物网站开发中查看订单的实现逻辑
  • 网站建设漂亮的模板西安网络优化大的公司
  • 如何免费简单建一个网站河北优化网站获客qq
  • 如何给网站做seo东莞网站建设星河
  • 什么叫门户类网站哪个网站能帮助做路书
  • 网站建站基础娄底网站推广
  • WordPress网站仿制光明建网站的公司
  • 可以做企业网站昆明seo怎么做
  • 西安那里做网站媒体软文发稿
  • 怎样做网站呢wordpress首页幻灯片尺寸
  • 青岛即墨网站网页设计营销型网站规划建设的七大要素
  • WordPress建站经验固原市住房和城乡建设厅网站
  • 可以查企业信息的软件wordpress换模板 seo
  • 网站广告怎么做wordpress封面图七牛
  • 设计师网站上海建设银行内部网站6
  • 网站接广告平台wordpress悬浮下拉
  • 国内网站做国外服务器网站建设的cms系统
  • 社交信息共享网站开发外包网站建设规划书的空间
  • 广告网站建设方案沂源网站建设
  • 城建局官网整站seo排名外包