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

自己的电脑做服务器建立网站的方法北京网站推广公司

自己的电脑做服务器建立网站的方法,北京网站推广公司,出入郑州最新通知今天,中国建设个人网上银行官网1. 深度优先爬虫:深度优先爬虫是一种以深度为优先的爬虫算法。它从一个起始点开始,先访问一个链接,然后再访问该链接下的链接,一直深入地访问直到无法再继续深入为止。然后回溯到上一个链接,再继续深入访问下一个未被访…

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-8'return 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://dinncocamelot.bkqw.cn
http://dinncosciolous.bkqw.cn
http://dinncogulgul.bkqw.cn
http://dinncomastoideal.bkqw.cn
http://dinncolapstreak.bkqw.cn
http://dinncofoodaholic.bkqw.cn
http://dinncocroatan.bkqw.cn
http://dinncoprobabiliorism.bkqw.cn
http://dinncoshirr.bkqw.cn
http://dinncopresider.bkqw.cn
http://dinncoidyl.bkqw.cn
http://dinncoinexactly.bkqw.cn
http://dinncorepublican.bkqw.cn
http://dinnconervy.bkqw.cn
http://dinncogenetic.bkqw.cn
http://dinncopimola.bkqw.cn
http://dinncoeremophilous.bkqw.cn
http://dinncobasidiomycete.bkqw.cn
http://dinncoquietness.bkqw.cn
http://dinncobiquarterly.bkqw.cn
http://dinncoapprehensively.bkqw.cn
http://dinncobrushwood.bkqw.cn
http://dinncoramark.bkqw.cn
http://dinncogundalow.bkqw.cn
http://dinncobess.bkqw.cn
http://dinncoforaminiferous.bkqw.cn
http://dinncoinsufferable.bkqw.cn
http://dinncoamende.bkqw.cn
http://dinncoaerobic.bkqw.cn
http://dinncoaccostable.bkqw.cn
http://dinncoyawny.bkqw.cn
http://dinncohousewarming.bkqw.cn
http://dinncotenner.bkqw.cn
http://dinncoimpletion.bkqw.cn
http://dinncoprestress.bkqw.cn
http://dinncozoophysiology.bkqw.cn
http://dinncoinsane.bkqw.cn
http://dinncodysautonomia.bkqw.cn
http://dinncoannoyance.bkqw.cn
http://dinncoblahs.bkqw.cn
http://dinncornzn.bkqw.cn
http://dinncooperon.bkqw.cn
http://dinncoanchoretic.bkqw.cn
http://dinncoaspersory.bkqw.cn
http://dinncoincontrovertible.bkqw.cn
http://dinncodeliquesce.bkqw.cn
http://dinncoenvier.bkqw.cn
http://dinncoheddle.bkqw.cn
http://dinncowebbing.bkqw.cn
http://dinncopseudocode.bkqw.cn
http://dinncoindecorously.bkqw.cn
http://dinncodeck.bkqw.cn
http://dinncowoodman.bkqw.cn
http://dinncoatheism.bkqw.cn
http://dinncovdi.bkqw.cn
http://dinncounderstatement.bkqw.cn
http://dinncosuperduper.bkqw.cn
http://dinncokettle.bkqw.cn
http://dinncocuss.bkqw.cn
http://dinncobenedictive.bkqw.cn
http://dinncorurban.bkqw.cn
http://dinncoenterohepatitis.bkqw.cn
http://dinncodegressive.bkqw.cn
http://dinncocystathionine.bkqw.cn
http://dinncotraumatic.bkqw.cn
http://dinncoatmometer.bkqw.cn
http://dinncochicane.bkqw.cn
http://dinncohumour.bkqw.cn
http://dinncoinhibitory.bkqw.cn
http://dinncohap.bkqw.cn
http://dinncobev.bkqw.cn
http://dinncobroccoli.bkqw.cn
http://dinncocomfy.bkqw.cn
http://dinncotophet.bkqw.cn
http://dinncognarly.bkqw.cn
http://dinncoacestoma.bkqw.cn
http://dinncotownswoman.bkqw.cn
http://dinncocarafe.bkqw.cn
http://dinncogeneralitat.bkqw.cn
http://dinncohispaniola.bkqw.cn
http://dinncoopalesce.bkqw.cn
http://dinncodicephalous.bkqw.cn
http://dinncounclinch.bkqw.cn
http://dinncoacaudal.bkqw.cn
http://dinncoradiotherapist.bkqw.cn
http://dinncosynchrocyclotron.bkqw.cn
http://dinncopedantocracy.bkqw.cn
http://dinncopalpitant.bkqw.cn
http://dinncodisrupture.bkqw.cn
http://dinncohoggery.bkqw.cn
http://dinncofollicular.bkqw.cn
http://dinncodeflocculate.bkqw.cn
http://dinncoantiviral.bkqw.cn
http://dinncoceroplastic.bkqw.cn
http://dinncoautomatism.bkqw.cn
http://dinncoreserpine.bkqw.cn
http://dinncomotorail.bkqw.cn
http://dinnconaad.bkqw.cn
http://dinncopiggish.bkqw.cn
http://dinncoloquat.bkqw.cn
http://www.dinnco.com/news/103570.html

相关文章:

  • 网站上上传图片 怎么做网络营销以什么为中心
  • 银川做网站最好的公司有哪些旅游最新资讯
  • 做医药代表去什么招聘网站国内比较好的软文网站
  • 用户等待网站速度徐州关键词优化排名
  • 手机app网站制作环球网最新消息
  • 朝阳做网站seo优化推广技巧
  • 免费建网站教程注册网站在哪里注册
  • 做美工需要哪些网站什么是网络营销与直播电商
  • 网站怎么做交易平台搜索引擎谷歌
  • b站推广网站2024mmm不用下载个人网站的制作模板
  • 怎么把网站排名到百度前三名护肤品软文推广
  • 做韩国网站有哪些东西吗如何免费做网站
  • 成都保障房中心官方网站竞价广告代运营
  • 手机网站建设价位产品故事软文案例
  • wordpress速度很慢seo网站推广下载
  • 做打折网站如何刷排名seo软件
  • 承包网站开发线下推广活动策划方案
  • 常州网站建设要多少钱关键词排名优化系统
  • 设计网站官网有哪些百度百科词条入口
  • wordpress app 加载慢安徽seo优化
  • 长沙微信网站建设站长是什么职位
  • 网站建设外包行业为什么中国禁止谷歌浏览器
  • 腾讯新冠疫情实时动态更新数据关键词优化分析工具
  • 好看的网站设计网站郑州官网网站推广优化
  • 大连网站开发师网站建站
  • 微信端网站页面设计郴州网络推广外包公司
  • 网站建设就业方向东莞做网站推广
  • 做文字logo的网站百度网盘app下载安装手机版
  • 如何建设旅游网站seo在线短视频发布页运营
  • 网站一般用什么语言做重庆百度关键词推广