【python爬虫】爬虫编程技术的解密与实战
🌈个人主页:Sarapines Programmer
🔥 系列专栏: 爬虫】网络爬虫探秘
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。
目录
🌼实验目的
🌷实验要求
🏵️实验代码
🌿1. 爬取并下载当当网某一本书的网页内容
🌿2. 在豆瓣网上爬取某本书的前50条短评内容并计算评分的平均值
🌿3. 从长沙房产网爬取长沙某小区的二手房信息
🌾实验结果
🌿1. 爬取并下载当当网某一本书的网页内容
🌿2. 在豆瓣网上爬取某本书的前50条短评内容并计算评分的平均值
🌿3. 从长沙房产网爬取长沙某小区的二手房信息
🌺实验体会
📝总结
🌼实验目的
-
Jupyter Notebook编程工具基本用法:
- 学习掌握Jupyter Notebook编程工具的基本用法。
-
Python读取CSV文件:
- 理解并熟悉使用Python编程语言读取CSV文件的方法。
-
学习使用爬虫:
- 通过学习,熟悉爬虫技术的使用,掌握在Python环境下进行网络爬取的基本知识和技能。
🌷实验要求
-
爬取并下载当当网某一本书的网页内容: 通过编写Python代码,实现对当当网上某一本书的网页内容进行爬取,并将其保存为HTML格式,这涉及到网络爬虫技术的应用。
-
在豆瓣网上爬取某本书的前50条短评内容并计算评分的平均值: 运用自学的正则表达式技能,爬取豆瓣网上某本书的前50条短评内容,并计算这些评分的平均值,为数据分析提供基础。
-
从长沙房产网爬取长沙某小区的二手房信息: 以名都花园为例,通过网络爬虫技术从长沙房产网(长沙链家网)上获取该小区的二手房信息,并将这些信息保存到EXCEL文件中,为房产数据的整理和分析提供便利
🏵️实验代码
🌿1. 爬取并下载当当网某一本书的网页内容
import urllib.request
#做爬虫时要用到的库#定义百度函数
def dangdang_shuji(url,begin_page,end_page): #三个参数: 链接+开始页数+结束页数 for i in range(begin_page, end_page+1): #从开始页数到结束页数,因为range性质所以要想到达end_page得到达end_page+1sName = str(i).zfill(5) + '.html' #填充为.html文件名#zfill(5)表示数字前自动补0,加上字符转化的整型i一共占五位print ('正在下载第' + str(i) + '个网页,并将其存储为' + sName + '......') #显示爬虫细节f = open(sName,'wb+') #w+以纯文本方式读写,而wb+是以二进制方式进行读写 m = urllib.request.urlopen(url+str(i)) .read() #urllib.request请求模块#urlopen实现对目标url的访问#可用参数#url: 需要打开的网址#data:Post提交的数据#timeout:设置网站的访问超时时间f.write(m) f.close()#调用部分
bdurl = str(input('请输入您在当当网上搜索的关于某本书的网页地址:'))
# 注意输入网址 https://book.dangdang.com/
begin_page = int(input(u'请输入开始的页数:\n'))
#将输入的字符串类型转化为整型
end_page = int(input(u'请输入终点的页数:\n'))
#同上
dangdang_shuji(bdurl,begin_page,end_page)
#调用函数
🌿2. 在豆瓣网上爬取某本书的前50条短评内容并计算评分的平均值
import requests, re, time
#获取响应时间与超时
count = 0
i = 0
sum, count_s = 0, 0
while(count < 50):#访问前50条记录if(i==0):#首页内容try:proxies = {'http': '120.236.128.201:8060','https': '120.236.128.201:8060'}headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}url = 'https://book.douban.com/subject/3674537/comments/?limit=20&status=P&sort=score'r = requests.get(url=url,headers=headers)except Exception as err:print(err)#打印输出错误信息break#其他页的内容else:start = i*20#url中start的值try:proxies = {'http': '120.236.128.201:8060','https': '120.236.128.201:8060'}headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}url='https://book.douban.com/subject/3674537/comments/?start='+str(start)+'&limit=20&status=P&sort=score'r = requests.get(url=url,headers=headers)# print('第'+str(i)+'页内容')except Exception as err:print(err)breaksoup = BeautifulSoup(r.text, 'lxml')# comments = soup.find_all('p', 'comment-content')#查找所有tag值为p,class标签为comment-content的内容comments = soup.find_all('span', class_='short')for item in comments:count = count + 1# print(count, item.string)print(count,item.get_text())#打印用户评论if count == 50:break pattern = re.compile('<span class="user-stars allstar(.*?) rating"')#以正则表达式匹配网页中的内容p = re.findall(pattern, r.text)for star in p:count_s = count_s + 1sum += int(star)time.sleep(5)# 停顿5秒再开始i += 1
if count == 50:print("\n平均分:",sum / count_s)import requests, re, time
#获取响应时间与超时
from bs4 import BeautifulSoup
#html的解析器,主要功能是解析和提取数据
def douBan():score_list=[] #用于存储得分import urllib #做爬虫时要用到的库count=0i=0while(count<50): #求50条评价记录#首页内容if(i==0):try:headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}url = 'https://movie.douban.com/subject/35437938/comments?limit=20&status=P&sort=new_score'r = requests.get(url=url,headers=headers)except Exception as err:#返回报错的原因print(err)break#非首页内容else:start = i*20#url中start的值try:headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}url='https://movie.douban.com/subject/35437938/comments?start='+str(start)+'&limit=20&status=P&sort=new_score'r = requests.get(url=url,headers=headers)# requests.get表示向服务器请求数据,服务器返回的结果是个Response对象except Exception as err:print(err)breakreq=urllib.request.Request(url,headers=headers)#Request:构造一个基本的请求。headers可以模拟浏览器,url为目的网址#urllib.request 模块提供了最基本的构造 HTTP 请求的方法,利用它可以#模拟浏览器的一个请求发起过程,同时它还带有处理 authenticaton (授权验证),#redirections (重定向), cookies (浏览器Cookies)以及其它内容response=urllib.request.urlopen(req)#urllib.request.urlopen(url, data=None, [timeout,]*, cafile=None, capath=None, cadefault=False, context=None)。#参数解释:#url:请求网址#data:请求时传送给指定url的数据,当给出该参数时,请求方式变为POST,未给出时为GET。#timeout:设定超时时间。如果在设定时间内未获取到响应,则抛出异常。#cafile, capath分别为CA证书及其路径html=response.read().decode("utf-8")#以utf-8方式读取爬取网页的内容bs=BeautifulSoup(html,"html.parser") #beautifulSoup:提取html对象中的内容items=bs.find_all("div",class_="comment-item")findScore=re.compile('<span class="allstar(.*?) rating"')#匹配星级findName=re.compile('<img alt="(.*?)"')#正则表达式的字符串形式匹配电影名字for item in items:item=str(item)#找出对应的五十个电影的得分score=re.findall(findScore,item)[0]score=float(score)score_list.append(score)#将得分存放在score_list列表中count+=1#计数器加1,当计数器大于等于50则结束循环if(count>=50):breaki+=1#下一页time.sleep(5) # 停顿5秒print("评分表 : ",score_list)#计算平均分length=len(score_list)print("一共%d条信息"%length)sum_score=0#计算总和,然后求平均分for i in score_list:sum_score+=iavg=sum_score/lengthprint("豆瓣前50评价 总分为:",sum_score,"平均分:",avg)
#调用函数
douBan()
🌿3. 从长沙房产网爬取长沙某小区的二手房信息
import requests as requ
import requests
#获取响应时间与超时
from bs4 import BeautifulSoup
#html的解析器,主要功能是解析和提取数据
import xlwt
#xlwt将数据和样式信息写入excel表格的库def getHouseList(url):"获取房源信息:标题、链接地址、户型、面积、朝向、总价、所属区域、套内面积"house =[]headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'} #解析内容res = requests.get(url,headers=headers)soup = BeautifulSoup(res.content,'html.parser')housename_divs = soup.find_all('div',class_='title')#查找该html网页中tag值为div、class值为title的部分#指定属性查找标签for housename_div in housename_divs:housename_as=housename_div.find_all('a')#参数解释:在原网页中,div标志下有一个叫"a"的超链接。所以次数找tag值为a的元素#返回值:对象数组,对象内容为a超链接中的属性)for housename_a in housename_as:housename=[]housename.append(housename_a.get_text())#得到超链接中的文字内容,放在housename列表中housename.append(housename_a.get('href'))house.append(housename)#获取超链接中的链接,放在house列表中huseinfo_divs = soup.find_all('div',class_='houseInfo')#参数解释:获取该网页中tag值为div,class值为houseInfofor i in range(len(huseinfo_divs)):info = huseinfo_divs[i].get_text()#获取houseInfo中的标题infos = info.split('|')#原网页以|符号分割的,这里以此做分割#小区名称house[i].append(infos[0])#户型house[i].append(infos[1])#平米house[i].append(infos[2])house_prices = soup.find_all('div',class_='totalPrice')#函数作用:获取网页中tag值为div,且class值为totalPrice的内容for i in range(len(house_prices)):price = house_prices[i].get_text()#获取文字内容house[i].append(price)return house#爬取房屋详细信息:所在区域、套内面积
def houseinfo(url):#为什么要分为两个函数?因为这个网页中,输入一个url只是得到一些基本信息#而详细信息需要到从基本信息中的链接再去提取headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}res = requests.get(url,headers=headers)soup = BeautifulSoup(res.content,'html.parser')#headers、res、soup与getHouseList()函数中一致。基本上可以作为固定不变的部分msg =[]#获取房源的所在区域areainfos = soup.find_all('span',class_='info')#获取网页中tag值为span,class为info的内容(以具体网页内容为准)for areainfo in areainfos:#只需要获取第一个a标签的内容即可area = areainfo.find('a')#找到tag值为a(超链接)的内容。返回一个对象数组#具体内容为:herf、target、textif(not area):#如果area为nullcontinue#如果没有这部分信息就跳过hrefStr = area['href']#提取该房源的链接if(hrefStr.startswith('javascript')):continuemsg.append(area.get_text())#获取房源所在的地区名称break#由于只需要获取第一个a标签的内容,所以此时就可以跳出循环#根据房屋户型计算套内面积infolist = soup.find_all('div',id='infoList')#获取tag值为div,id为infolist的内容#注意网站标注的总面积与实际的套内面积是不一样的,所以需要重新计算num = []for info in infolist:cols = info.find_all('div',class_='col')#网站中包含col列的有很多,包括面积、方位、名称等等#老师的方法是遍历所有的col,#我觉得更好的方法是将包含平米的col单独提取出来,这样就无需使用tryfor i in cols:pingmi = i.get_text()#获取标题(面积,即xxx平米)try:#尝试从string中提取数字a = float(pingmi[:-2])#从开头到距离尾部2个字符,即把"平米"汉字去掉了num.append(a)except ValueError:#如果出错就跳出continuemsg.append(sum(num))#计算各户型的总面积return msgdef writeExcel(excelPath,houses):"#将爬取数据写入excel文件"#excelPath:excel文件存储的路径,houses:包含房源基本信息的列表workbook = xlwt.Workbook()#函数作用:新建一个工作簿sheet = workbook.add_sheet('git')#添加一行row0=['标题','链接地址','户型','面积','朝向','总价','所属区域','套内面积']for i in range(0,len(row0)):sheet.write(0,i,row0[i])#作为excel表列索引for i in range(0,len(houses)):house = houses[i]print(house)for j in range(0,len(house)):sheet.write(i+1,j,house[j])#数据写完一行接上一行workbook.save(excelPath)#将excel工作簿保存到指定位置#主函数
def main():data = []for i in range(1,5):print('-----分隔符',i,'-------')#i从1到4if i==1:url ='https://cs.lianjia.com/ershoufang/c3511059937033rs%E5%90%8D%E9%83%BD%E8%8A%B1%E5%9B%AD/'#此时i=1时url指向该地址else:url='https://cs.lianjia.com/ershoufang/pg'+str(i)+'c3511059937033rs%E5%90%8D%E9%83%BD%E8%8A%B1%E5%9B%AD/'#i不等于1时url执行不同位置houses =getHouseList(url)for house in houses:link = house[1]if(not link or not link.startswith('http')):#无法连接或连接协议不是http,使用continue跳出循环continuemianji = houseinfo(link)house.extend(mianji)data.extend(houses)#将数据整合到daya里统一写入excel表writeExcel('d:/cs.xls',data)if __name__ == '__main__':main()#如果模块是被直接运行的,则代码块被运行,#如果模块是被导入的,则代码块不被运行
🌾实验结果
🌿1. 爬取并下载当当网某一本书的网页内容
🌿2. 在豆瓣网上爬取某本书的前50条短评内容并计算评分的平均值
🌿3. 从长沙房产网爬取长沙某小区的二手房信息
🌺实验体会
-
实验学习和爬虫指令使用
- 通过实验首次接触了使用Python进行爬虫,学到了相关爬虫指令,并成功爬取了当当网和长沙二手房的信息。
- 发现在Linux系统下使用cat语法访问.csv文件,而在Windows系统下要使用type,需要注意斜线的差异。
-
对Python库的认识和意识拓展
- 在此实验中,通过社区查阅了相关资源,附上了详细注释,深化了对爬虫的理解。
- 意识到Python语言的强大之处,不论是机器学习的scikit-learn库还是爬虫的requests库,都涉及到Python,并体会到其调用封装在不同的库中。
-
爬虫问题解决和环境疑惑
- 遇到在Jupyter Notebook中出现‘int’ object is not callable的问题,通过重新创建文件解决,但对问题原因产生疑惑。
- 怀疑问题可能与装了PyTorch导致与Python两个虚拟环境冲突,但并未做实质修改,问题自行解决,留下疑惑。
📝总结
Python领域就像一片未被勘探的信息大海,引领你勇敢踏入Python数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。
渴望挑战Python信息领域的技术?不妨点击下方链接,一同探讨更多Python数据科学的奇迹吧。我们推出了引领趋势的💻 Python数据科学专栏:【爬虫】网络爬虫探秘,旨在深度探索Python模式匹配技术的实际应用和创新。🌐🔍
相关文章:
【python爬虫】爬虫编程技术的解密与实战
🌈个人主页:Sarapines Programmer🔥 系列专栏: 爬虫】网络爬虫探秘⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌼实验目的 …...
VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法
VisualSVN Server下载安装和使用方法、服务器搭建、使用TortoiseSvn将项目上传到云端服务器、各种错误解决方法 0.写在前面00.电脑配置01.思路 1.VisualSVN Server下载安装01.下载02.安装03.电脑命名不能有中文04.制作VisualSVN Server快捷方式05.License limits exceeded, Som…...
Python模块与包:扩展功能、提高效率的利器
文章目录 一、引言1.1 模块与包对于Python开发的重要性1.2 Python作为拥有丰富生态系统的编程语言 二、为什么学习模块与包2.1 复用代码:利用现有模块与包加速开发过程2.2 扩展功能:通过模块与包提供的功能增强应用的能力 三、模块的使用3.1 导入模块&am…...
【每日一题】4.LeetCode——杨辉三角
📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…...
蓝桥杯(Python)每日练Day5
题目 OJ1229 题目分析 题目完全符合栈的特征,后进先出。如果能够熟练使用列表的9种方法那么这道题很容易解出。 题解 a[]#存衣服 nint(input()) for i in range(n):llist(input().split())#判断每一步的操作if len(l[0])2:a.append(l[1])else:while a.pop()!l…...
SpringCloud(二)
Spring Cloud 文章目录 Spring Cloud任务三:Spring Cloud与微服务架构1.Spring Cloud课程内容介绍2.单体应用架构2.1 互联网应用架构演进2.2 单体应用架构 3.垂直应用架构4.SOA应用架构5.微服务应用架构介绍6.微服务架构核心思想及优缺点7.微服务架构的核心概念8.Sp…...
【java】常见的面试问题
目录 一、异常 1、 throw 和 throws 的区别? 2、 final、finally、finalize 有什么区别? 3、try-catch-finally 中哪个部分可以省略? 4、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗&#…...
虚幻UE 插件-像素流送实现和优化
本笔记记录了像素流送插件的实现和优化过程。 UE version:5.3 文章目录 一、像素流送二、实现步骤1、开启像素流送插件2、设置参数3、打包程序4、打包后的程序进行像素流参数设置5、下载NodeJS6、下载信令服务器7、对信令服务器进行设置8、启动像素流送 三、优化1、…...
Vue2 props组件通信
一、父组件向子组件传值 1、流程图 2、父组件代码 <template><div class"app"><UserInfo:usernameusername:ageage:isSingleisSingle:carcar:hobbyhobby></UserInfo></div> </template><script> import UserInfo from .…...
重构改善既有代码的设计-学习(三):重新组织数据
1、拆分变量(Split Variable) 有些变量用于保存一段冗长代码的运算结果,以便稍后使用。这种变量应该只被赋值一次。 如果它们被赋值超过一次,就意味它们在函数中承担了一个以上的责任。如果变量承担多个责任,它就应该被…...
群狼调研(长沙品牌忠诚度测试)|广告效果测评方法
广告效果测评方法可以根据具体的目标和需求而有所差异,以下是一些常见的广告效果测评方法: 1.品牌调研和调查:通过定量或定性的调研和调查方法,评估广告对品牌认知、品牌形象和品牌偏好的影响,包括品牌知名度、品牌关联…...
Gradle学习笔记:Gradle的使用方法
文章目录 1.初始化项目2.构建脚本语言选择3.项目命名4.项目构建过程 1.初始化项目 创建一个test空文件夹,在该文件夹下打开终端,并执行命令:gradle init. 会有一个选项让你选择项目的类型。下面是每个选项的含义和用途: basic&am…...
少儿编程 2023年12月电子学会图形化编程等级考试Scratch二级真题解析(选择题)
2023年12月scratch编程等级考试二级真题 选择题(共25题,每题2分,共50分) 1、在制作推箱子游戏时,地图是用数字形式储存在电脑里的,下图是一个推箱子地图,地图表示如下:第一行( 111111)第二行( 132231) 第三行( 126621) 第四行( ) 第五行( 152321) 第六行( 111111 ) 根…...
基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
基于JavaSpringMvcvueelement实现上海汽车博物馆平台 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 …...
Sybase PowerDesigner15安装配置
1,软件介绍 Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓…...
基于物联网设计的水稻田智能灌溉系统(STM32+华为云IOT)
一、项目介绍 随着科技的不断发展和人们生活水平的提高,农业生产也逐渐向智能化、高效化的方向发展。水稻作为我国主要的粮食作物之一,其生长过程中的灌溉管理尤为重要。传统的灌溉方式往往依赖于人工观察和控制,不仅效率低下,而…...
【数据结构】数据结构初识
前言: 数据结构是计算存储,组织数据的方式。数据结构是指相互间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 Data Structure Vi…...
java多线程测试websocket demo(使用文件流)
这个demo主要是利用Java多线程来测试WebSocket通信。首先,创建一个WebSocket服务器和客户端,然后使用多线程来模拟多个客户端同时连接服务器进行通信。通过多线程测试,可以验证WebSocket通信的并发性能和稳定性。同时,可以通过多线…...
Tosei 自助网络店铺管理系统network_test.php_RCE漏洞复现
简介 Tosei 自助洗衣机是日本一家公司的产品,在 network_test.php 文件存在命令执行 漏洞复现 FOFA语法: body="tosei_login_check.php" 主要是日本 访问界面如下所示: 验证POC: /cgi-bin/network_test.php 拼接访问url: https://ip:port/cgi-bin/network_tes…...
uni-app 国际化
vue i18n v9的迁移后的$t()无法获取数组、对象 http://t.csdnimg.cn/WkCHy api:vue i18n [intlify] Not found ‘language’ key in ‘zh-Hans’ locale messages. [intlify] Fall back to translate ‘language’ key with ‘zh’ locale. [intlify] Not found ‘languag…...
git:git reset 和 git revert
在使用 git 进行项目开发的过程中,有时会出现错误提交的情况,这时就需要能够撤销错误的提交,将代码恢复到提交之前的样子。根据不同情况,可以使用 git reset 或 git revert 命令。 一. git reset git reset 的原理是修改 HEAD 的…...
LeetCode:670. 最大交换(Java 贪心)
目录 670. 最大交换 题目描述: 实现代码与解析; 贪心 原理思路: 670. 最大交换 题目描述: 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释…...
【STM32】STM32学习笔记-Unix时间戳(41)
00. 目录 文章目录 00. 目录01. Unix时间戳02. UTC/GMT03. 时间戳转换04. C 标准库 <time.h>05. 时间相关函数示例5.1 time函数5.2 gmtime函数5.3 localtime函数5.4 mktime函数5.5 ctime函数5.6 asctime函数5.7 strftime函数 06. 预留07. 附录 01. Unix时间戳 •Unix 时…...
2016年认证杯SPSSPRO杯数学建模B题(第一阶段)低分辨率下看世界全过程文档及程序
2016年认证杯SPSSPRO杯数学建模 B题 低分辨率下看世界 原题再现: 数码摄像技术被广泛使用于多种场合中。有时由于客观条件的限制,拍摄设备只能在较低的分辨率下成像。为简单起见,我们只考虑单色成像。假设成像的分辨率为 32 64,…...
16、Kafka ------ SpringBoot 整合 Kafka (配置 Kafka 属性 及对应的 属性处理类 解析)
目录 配置 Kafka 及对应的 属性处理类配置KafkaKafka配置属性的约定代码演示生产者相关的配置消费者相关的配置 代码(配置文件)application.properties 配置 Kafka 及对应的 属性处理类 配置Kafka spring.kafka.* 开头的配置属性,这些属性将由…...
【蓝桥杯选拔赛真题61】python偶数平方 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析
目录 python偶数平方 一、题目要求 1、编程实现 2、输入输出...
智能语音识别源码系统+语义理解+对话管理+语音合成 带完整的搭建教程
人工智能技术的不断发展,智能语音识别技术逐渐成为人们日常生活和工作中不可或缺的一部分。然而,目前市场上的智能语音识别产品大多存在一定的局限性,如识别率不高、功能单一等。为了解决这些问题,罗峰给大家分享一款基于智能语音…...
cdh6.3.2的hive配udf
背景 大数据平台的租户要使用udf,他们用beeline连接, 意味着要通过hs2,但如果有多个hs2,各个hs2之间不能共享,需要先把文件传到hdfs,然后手动在各hs2上create function。之后就可以永久使用了,…...
在DevEco开发工具中,使用Previewer预览界面中的UI组件
1、在DevEco工具中,点击并展开PreViewer预览器 2、在PreViewer预览器中,点击Tt按钮(Inspector)切换至组件查看模式 3、在组件查看模式下选择组件,代码呈现选中状态,右侧呈现组件树,右下方呈现组…...
【蓝桥杯冲冲冲】旅行计划
蓝桥杯备赛 | 洛谷做题打卡day18 文章目录 蓝桥杯备赛 | 洛谷做题打卡day18旅行计划题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题解代码我的一些话 旅行计划 题目描述 Kira酱要去一个国家旅游。这个国家有 N N N 个城市,编号为 1 1 1 至 N N…...
网站备案怎么查询/网站下载
Sub-QCIF 128x96QCIF 176x144CIF 352x2884CIF 704x576QVGA240320HVGA480*320VGA640X480SVGA800X600XGA1024X768SXGA1280X1024SXGA1400X1050UXGA1600X1200WXGA1280X800WXGA1400X900WSXGA1600X1024WSXGA1680X1050WUXGA1920X1200WQXGA 2560X1600...
网站制作的流程/指数基金
jQuery的理念:write less,do more学习是一种习惯html文档加载完之后再运行jQuery代码:第一种方法:$(document).ready( function(){ // jQuery代码 } )$美元符号,用于访问jQuery库; document,文档对象; ready事件,定义文档就绪事件第二种简便方法:$( function(){ //jQuery代码…...
页游网站建设/新闻软文发稿平台
InitializingBean 记住一点:InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的子类,在初始化bean的时候会执行该方法。 下面看下简单的例子:(环境是用…...
怎么查看什么公司做的网站吗/seo推广工具
要开启相应数据库的pdo扩展。配置数据库连接在larave中连接数据库的配置地方有两个1、.env文件2、修改config/database.php文件如下:注意此时要开启MySQL,也就是进程中有MySQL服务创建数据库CREATE DATABASE laraveltest DEFAULT CHARACTER SET utf8mb4 …...
wordpress 点赞 开启/营销推广方案怎么写
文章目录Pause容器的作用三个容器的运行总结Pause容器的作用 pause容器,又叫Infra容器,是pod的基础容器,镜像体积只有几百KB左右,配置在kubelet中,主要的功能是使一个pod中多个容器的网络通信 我们看下在node节点上都…...
wordpress手机评论/成都关键词排名推广
源码编号:S-I03 点击查看(分类规则) 项目名称:基于Spring Boot的在线聊天系统 当前版本:V1.0版本 用户类型:双角色(用户、管理员) 项目架构:B/S架构 主要技术&a…...