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

ftp网站地图怎么做河南中原建设公司网站

ftp网站地图怎么做,河南中原建设公司网站,成都餐饮小程序开发,网站建设哪家服务态度好1. 深度优先爬虫#xff1a;深度优先爬虫是一种以深度为优先的爬虫算法。它从一个起始点开始#xff0c;先访问一个链接#xff0c;然后再访问该链接下的链接#xff0c;一直深入地访问直到无法再继续深入为止。然后回溯到上一个链接#xff0c;再继续深入访问下一个未被访…1. 深度优先爬虫深度优先爬虫是一种以深度为优先的爬虫算法。它从一个起始点开始先访问一个链接然后再访问该链接下的链接一直深入地访问直到无法再继续深入为止。然后回溯到上一个链接再继续深入访问下一个未被访问的链接。这种算法的优点是可以快速深入到网站的深层页面但可能会陷入无限循环或者遗漏一些链接。 2. 广度优先爬虫广度优先爬虫是一种以广度为优先的爬虫算法。它从一个起始点开始首先访问该链接下的所有链接然后再逐个访问这些链接下的链接。这种算法的优点是可以较好地保证网站的全面爬取并避免陷入无限循环。但缺点是可能会花费较长的时间因为需要逐层遍历所有链接。 这两种爬虫算法适用于不同的应用场景深度优先爬虫适用于需要尽快深入到网站的深层页面进行数据抓取的场景而广度优先爬虫适用于需要全面爬取整个网站的场景。 对应地我们可以联系数据结构的树来进行理解。 树是一种数据结构它是由节点和边组成的集合。树的节点之间有一对一的关系其中一个节点是根节点其他节点可以分为多个子节点每个子节点可以再分为更多的子节点以此类推。树的模型在计算机科学中被广泛应用包括文件系统、数据库索引、图形界面等。 树的根节点是最顶层的节点没有父节点。每个节点可以有零个或多个子节点。节点之间的边表示节点之间的关系其中每个边连接一个父节点和一个子节点。 树的一些常见的特殊情况包括二叉树、二叉搜索树、平衡二叉树等。二叉树是一种特殊的树其中每个节点最多有两个子节点。二叉搜索树是一种有序的二叉树其中对于每个节点其左子树的所有节点的值都小于它的值右子树的所有节点的值都大于它的值。平衡二叉树是一种特殊的二叉搜索树其中任意节点的左子树和右子树的高度差不大于1。 树的模型可以用来表示层次化的数据如组织结构、目录结构等。在编程中可以使用树来实现递归算法、搜索算法、排序算法等。树的模型也可以用图形方式表示通过节点和边的可视化更直观地展示树结构。 from bs4 import BeautifulSoup import requests import re #自定义队列类 class linkQuence:def __init__(self):# 已访问的url集合self.visted []# 待访问的url集合self.unVisited []# 获取访问过的url队列def getVisitedUrl(self):return self.visted# 获取未访问的url队列def getUnvisitedUrl(self):return self.unVisited# 添加到访问过得url队列中def addVisitedUrl(self, url):self.visted.append(url)# 移除访问过得urldef removeVisitedUrl(self, url):self.visted.remove(url)# 未访问过得url出队列def unVisitedUrlDeQuence(self):try:return self.unVisited.pop()except:return None# 保证每个url只被访问一次def addUnvisitedUrl(self, url):if url ! and url not in self.visted and url not in self.unVisited:self.unVisited.insert(0, url)# 获得已访问的url数目def getVisitedUrlCount(self):return len(self.visted)# 获得未访问的url数目def getUnvistedUrlCount(self):return len(self.unVisited)# 判断未访问的url队列是否为空def unVisitedUrlsEnmpy(self):return len(self.unVisited) 0 class MyCrawler:def __init__(self, seeds):# 初始化当前抓取的深度self.current_deepth 1# 使用种子初始化url队列self.linkQuence linkQuence()if isinstance(seeds, str):self.linkQuence.addUnvisitedUrl(seeds)if isinstance(seeds, list):for i in seeds:self.linkQuence.addUnvisitedUrl(i)print(Add the seeds url %s to the unvisited url list % str(self.linkQuence.unVisited))# 抓取过程主函数def crawling(self, seeds, crawl_deepth):# ********** Begin **********## 循环条件抓取深度不超过crawl_deepthwhile self.current_deepth crawl_deepth:# 循环条件待抓取的链接不空while not self.linkQuence.unVisitedUrlsEnmpy():# 队头url出队列visitUrl self.linkQuence.unVisitedUrlDeQuence()print(Pop out one url \%s\ from unvisited url list % visitUrl)if visitUrl is None or visitUrl :continue# 获取超链接links self.getHyperLinks(visitUrl)print(Get %d new links % len(links))# 将url放入已访问的url中self.linkQuence.addVisitedUrl(visitUrl)print(Visited url count: str(self.linkQuence.getVisitedUrlCount()))print(Visited deepth: str(self.current_deepth))# 未访问的url入列for link in links:self.linkQuence.addUnvisitedUrl(link)print(%d unvisited links: % len(self.linkQuence.getUnvisitedUrl()))self.current_deepth 1# ********** End **********## 获取源码中得超链接def getHyperLinks(self, url):# ********** Begin **********#links []data self.getPageSource(url)soup BeautifulSoup(data,html.parser)a soup.findAll(a, {href: re.compile(^http|^/)})for i in a:if i[href].find(http://) ! -1:links.append(i[href])return links# ********** End **********## 获取网页源码def getPageSource(self, url):# ********** Begin **********#try:r requests.get(url)r.raise_for_status()r.encoding utf-8return r.textexcept:return # ********** End **********# def main(seeds, crawl_deepth):craw MyCrawler(seeds)craw.crawling(seeds, crawl_deepth) if __name__ __main__:main(http://www.baidu.com, 3)
http://www.hkea.cn/news/14536366/

相关文章:

  • 个人网站备案名称填写wordpress后台的使用技巧
  • 家纺公司网站模版google建站推广
  • 成全视频免费观看在线观看高清动漫郑州企业网站优化多少钱
  • 上海网站建设门户在线教育网站建设投标书
  • 网站首页作用网创项目资源网站
  • 加强廉政教育网站建设滨州建设网站
  • 网站建设的一般过程包括哪些方面anaconda可以做网站吗
  • 软件 网站模板长沙正规官网建站
  • 网站主机域名子域名网站二级
  • 广东快速做网站公司哪家好网络设计与管理是干什么的
  • 长春网站建设SEO优化营销做电脑网站手机能显示不出来怎么办啊
  • 你知道吗网站优化要多少钱
  • 国外域名注册网站 中文网站中文域名好不好
  • 黄金网站app视频下载小说微商系统
  • 错题网站开发四川网站建设制作
  • 在百度做网站多少钱wordpress 链接小图标
  • 杭州做网站好的公司排名wordpress 分类函数
  • 沈阳做网站优化哪家好做网站流量钱谁给
  • pytson做网站安全吗重庆市建设工程信息网上查询
  • 福田做网站优化乐云seo微官网和小程序有什么区别
  • 做搜狐网站页面石家庄seo网站推广
  • 马鞍山网站开发番禺做网站哪家强
  • 海外海外网站建设wordpress模板大全
  • 在百度上注册公司网站要多少钱二级网站域名解析
  • 济南外贸网站保定网络营销推广
  • 哪里有手机网站建设联系方式网站未经授权推广别人的产品
  • 广州知名网站建设性价比高网站名称怎么变更
  • 网站 建设后台WordPress知更鸟主题怎样安装
  • 27寸显示器网站建设seo营销型网站推广
  • 象山县建设局网站企业网站开发创意