Python 智取京东商品详情:代码秘籍大公开

介绍使用 Python 获取京东商品详情的背景和意义,强调其在数据收集和分析中的重要性。

(一)数据收集的需求

在当今数字化的商业环境中,对京东商品详情数据的需求日益增长。市场调研人员需要这些数据来了解不同产品的市场份额、价格趋势以及消费者反馈,以便为企业制定更精准的市场策略。例如,通过分析京东上某类商品的价格范围、销量以及用户评价,可以确定该产品在市场中的定位,为企业的产品定价和促销活动提供参考。

竞品分析也是一个重要的应用场景。企业可以通过获取竞争对手在京东上的商品详情,了解其产品特点、价格策略和用户评价,从而找出自身产品的优势和不足,进行有针对性的改进和优化。此外,对于电商从业者来说,京东商品详情数据可以帮助他们更好地了解市场动态,优化库存管理,提高销售效率。

(二)Python 的优势

Python 作为一种广泛应用于数据处理和爬虫的编程语言,具有诸多优势。首先,Python 语法简洁易读,即使是没有编程经验的人也能快速上手。这使得数据分析师和开发者能够更高效地编写代码,减少开发时间和成本。

其次,Python 拥有丰富的库和工具,为获取京东商品详情提供了强大的支持。例如,requests库可以方便地发送 HTTP 请求,获取网页内容;BeautifulSoup库可以快速解析 HTML 和 XML 文档,提取所需的数据;pandas库则可以对获取的数据进行高效的处理和分析。

此外,Python 还具有良好的可扩展性和跨平台性。开发者可以根据自己的需求,使用 Python 与其他编程语言进行集成,实现更复杂的功能。同时,Python 可以在不同的操作系统上运行,为数据收集和分析提供了更大的灵活性。

据统计,使用 Python 进行数据处理和爬虫的开发效率比其他编程语言平均提高了 30% 以上。而且,Python 庞大的社区和丰富的资源也为开发者提供了更多的学习和交流机会,遇到问题时可以快速找到解决方案。

二、代码实现的关键步骤

(一)请求发送与伪装

使用 Python 的 requests 库发送 HTTP 请求是获取京东商品详情的第一步。在发送请求时,为了避免被京东服务器识别为爬虫而被封禁,需要进行伪装。通常可以通过设置 User-Agent 来实现伪装成普通浏览器用户。

User-Agent 是 HTTP 请求头中的一部分,它向服务器标识了请求的客户端类型,包括操作系统、浏览器、设备等信息。例如,可以设置 User-Agent 为常见浏览器的标识,如 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36。

以下是使用 requests 库发送请求并设置 User-Agent 的代码示例:

 

import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36'}

url = 'https://item.jd.com/[商品 ID].html'

response = requests.get(url, headers=headers)

通过这样的设置,可以增加请求的成功率,让服务器认为请求是来自普通浏览器用户。

(二)页面解析利器

在获取到京东商品页面的 HTML 内容后,需要使用合适的库来解析页面,提取所需的商品信息。BeautifulSoup 和 lxml 是常用的 HTML 解析库。

BeautifulSoup 是一个用于从 HTML 或 XML 文件中提取数据的 Python 库。它创建了一个解析树,用于方便地提取各种数据,如标签名、属性、字符串内容等。安装方法如下:

pip install beautifulsoup4 lxml

以下是使用 BeautifulSoup 解析 HTML 页面的示例代码:

 

from bs4 import BeautifulSoup

soup = BeautifulSoup(response.text, 'lxml')

title = soup.find('div', class_='sku-name').text.strip()

price = soup.find('span', class_='price').text.strip()

lxml 也是一个强大的 XML 和 HTML 解析库,它既支持 BeautifulSoup 风格的解析,也支持 XPath 表达式。XPath 是一种在 XML 文档中查找信息的语言,可以更灵活地定位和提取元素。

例如,使用 lxml 和 XPath 提取商品信息的代码如下:

 

from lxml import etree

tree = etree.HTML(response.text)

title = tree.xpath('//div[@class="sku-name"]/text()')[0].strip()

price = tree.xpath('//span[@class="price"]/text()')[0].strip()

(三)处理动态加载内容

京东的一些商品详情是通过 JavaScript 动态加载的,这给数据提取带来了挑战。为了应对这种情况,可以使用 Selenium 模拟浏览器环境。

Selenium 是一种自动化测试工具,可以模拟用户在浏览器中的操作,包括点击、输入等。因此,使用 Selenium 可以模拟浏览器加载网页的过程,从而获取动态加载的信息。

安装方法如下:

pip install selenium

以下是使用 Selenium 模拟浏览器获取动态加载内容的代码示例:

 

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://item.jd.com/[商品 ID].html')

# 等待动态内容加载完成

time.sleep(5)

html = driver.page_source

driver.close()

soup = BeautifulSoup(html, 'lxml')

# 提取动态加载的信息

dynamic_info = soup.find('div', class_='dynamic-content').text.strip()

通过以上三个关键步骤,可以实现使用 Python 获取京东商品详情的功能。在实际应用中,还可以根据具体需求进行更多的优化和扩展,如处理异常情况、提高代码效率等。

三、代码示例与分析

(一)获取商品链接和 ID

以下是获取商品链接和 ID 的代码示例:

 

word = input('请输入你要获取的商品:')

page = input('请输入商品页数:')

def get_link():

links = []

skus_id = []

for i in range(int(page)):

url = f'https://search.jd.com/Search?keyword={word}&wq={word}&page={i}'

headers = {"user-agent": random.choice(ua_list)}

res = requests.get(url=url, headers=headers).text

time.sleep(0.5)

html = etree.HTML(res)

link = html.xpath('//*[@id="J_goodsList"]/ul/li[*]/div/div[3]/a/@href')

link = ['https:' + k for k in link]

for l in link:

links.append(l)

sku_id = [re.findall('\d+', i)[0] for i in link]

for s in sku_id:

skus_id.append(s)

print(f'第{i + 1}页。')

return links, skus_id

这段代码首先通过用户输入获取要搜索的商品关键词和要爬取的页数。然后,使用循环遍历每一页的搜索结果页面,通过发送 HTTP 请求获取页面内容。接着,使用 etree.HTML 解析页面内容,通过 XPath 表达式提取商品链接,并进行拼接操作,将相对链接转换为绝对链接。最后,提取商品 ID,并将链接和 ID 分别添加到列表中返回。

(二)获取商品详情数据

以下是获取商品详情数据的代码示例:

 

def goods(links, skus_id):

goo = []

pict = 0

for i in range(len(links)):

headers = {"User-Agent": random.choice(ua_list), 'referer': 'https://search.jd.com/'}

res = requests.get(url=links[i], headers=headers).text

time.sleep(2)

html = etree.HTML(res)

# 店铺名称

title = html.xpath('//*[@id="crumb-wrap"]/div/div[2]/div[2]/div[1]/div/a/@title')

# 品牌

brand = html.xpath('//*[@id="parameter-brand"]/li/@title')

# 商品编号

serial = html.xpath('//*[@id="detail"]/div[2]/div[1]/div[1]/ul[2]/li[2]/text()')

serial = [serial[0].split(':')[-1]]

# 正式商品名称

official = html.xpath('//*[@id="detail"]/div[2]/div[1]/div[1]/ul[2]/li[1]/text()')

official = [official[0].split(':')[-1].strip()]

# 网页商品名称

name = html.xpath('/html/body/div[6]/div/div[2]/div[1]/text()')

if len(name) == 1:

name = [name[0].strip()]

elif len(name) == 2:

name = [name[1].strip()]

# 商品第一张主图片

picture = ['https:' + html.xpath('//*[@id="spec-img"]/@data-origin')[0]]

res2 = requests.get(url=picture[0], headers=headers)

with open(f'D:\\pythonproject\\python项目爬虫\\接单\\京东商品评价获取(接单考核)\\商品图片/{pict}.jpg', 'wb') as f:

f.write(res2.content)

pict += 1

# 京东价,请求价格信息

jsonp = requests.get('https://p.3.cn/prices/mgets?skuIds=J_' + skus_id[i], headers=headers).text

price = re.findall('"p":"(.*?)","op"', jsonp)

# 优惠劵和促销

options = webdriver.ChromeOptions()

options.add_argument('--headless')

driver = webdriver.Chrome(options=options)

driver.get(links[i])

time.sleep(1)

# 获取源代码

data = driver.page_source

time.sleep(0.5)

driver.close()

driver.quit()

# 促销

html2 = etree.HTML(data)

promotion1 = html2.xpath('//*[@id="prom"]/div/div[1]/em[2]/text()')

promotion2 = html2.xpath('//*[@id="prom"]/div/div[2]/em[2]/text()')

if promotion1 == [] and promotion2 == []:

promotion = ['暂无促销信息']

elif promotion1 == [] and promotion2!= []:

promotion = promotion2

elif promotion2 == [] and promotion1!= []:

promotion = promotion1

else:

promotion = [promotion1[0], promotion2[0]]

# 优惠劵信息

coupon = html2.xpath('//*[@id="summary-quan"]/div[2]/dl/dd/a/span/span/text()')

if coupon == []:

coupon = ['暂无可领的优惠券']

# 累计评价

comm_url = f'https://club.jd.com/comment/productCommentSummaries.action?referenceIds={skus_id[i]}'

comment_headers = {'user-agent': random.choice(ua_list)}

res_js = requests.get(url=comm_url, headers=comment_headers).text

comment = re.findall('"CommentCountStr":"(.*?)","CommentCount":', res_js)

for g in zip(title, brand, serial, official, name, price, promotion, coupon, comment, picture):

goo.append(g)

print(f'第{i + 1}件商品打印完成。')

return goo

这段代码接收商品链接列表和商品 ID 列表作为参数。在循环中,首先设置请求头,发送 HTTP 请求获取商品详情页面内容,并使用 etree.HTML 解析页面内容。然后,通过 XPath 表达式提取店铺名称、品牌、商品编号、正式商品名称、网页商品名称等信息。接着,提取商品的主图片,并保存到本地。通过发送请求获取商品的价格信息,并使用正则表达式提取价格。然后,使用 Selenium 模拟浏览器获取商品页面的源代码,解析源代码提取促销信息和优惠劵信息。最后,发送请求获取商品的累计评价信息,并使用正则表达式提取评论数。将提取到的所有信息打包成一个元组,添加到列表中返回。

(三)数据保存与处理

以下是将获取到的商品详情数据保存到 Excel 文件中的代码示例:

 

def save(goo):

# 创建工作簿

workbook = xlsxwriter.Workbook('京东商品详情.xlsx')

# 创建工作表

worksheet = workbook.add_worksheet(word)

# 大部分样式如下:

format = {

# 'font_size':10, # 字体大小

'bold': True, # 是否粗体

}

a = 0

for item in goo:

worksheet.write(a, 0, item[0][0]) # 店铺名称

worksheet.write(a, 1, item[1][0]) # 品牌

worksheet.write(a, 2, item[2][0]) # 商品编号

worksheet.write(a, 3, item[3][0]) # 正式商品名称

worksheet.write(a, 4, item[4][0]) # 网页商品名称

worksheet.write(a, 5, item[5][0]) # 价格

worksheet.write(a, 6, ','.join(item[6])) # 促销信息

worksheet.write(a, 7, ','.join(item[7])) # 优惠劵信息

worksheet.write(a, 8, item[8][0]) # 评论数

worksheet.write(a, 9, item[9][0]) # 商品详情页

a += 1

workbook.close()

这段代码创建一个 Excel 工作簿和工作表,设置工作表的样式。然后,遍历商品详情数据列表,将每个商品的信息写入工作表的不同列中。最后,关闭工作簿,完成数据的保存。

除了保存到 Excel 文件中,还可以将数据保存到 CSV 文件或数据库中。保存到 CSV 文件可以使用 Python 的 csv 模块,保存到数据库可以使用数据库相关的库,如 pymysql 用于 MySQL 数据库、pymongo 用于 MongoDB 数据库等。具体的保存方法可以根据实际需求进行选择和实现。

四、挑战与解决方案

(一)反爬虫策略应对

在获取京东商品详情的过程中,京东的反爬虫机制是一个主要的挑战。为了规避这些反爬虫机制,可以采取以下方法:

  • 降低爬取频率:频繁地发送请求容易被京东服务器识别为爬虫行为。可以通过设置适当的时间间隔来降低爬取频率,例如在每次请求之间等待几秒钟。这样可以减少对京东服务器的压力,降低被封禁的风险。
  • 使用代理 IP:京东可能会通过 IP 地址来识别和封禁爬虫。使用代理 IP 可以隐藏真实的 IP 地址,从而避免被封禁。可以从代理服务提供商那里获取多个代理 IP,并在代码中随机选择使用。例如,使用 Python 的requests库时,可以通过设置proxies参数来使用代理 IP:
 

import requests

proxies = {'http': 'http://[代理 IP 地址]', 'https': 'https://[代理 IP 地址]'}

response = requests.get(url, proxies=proxies)

  • 模拟用户行为:除了设置User-Agent伪装成普通浏览器用户外,还可以模拟用户的行为,如随机点击、滚动页面等。这样可以使请求更加真实,减少被识别为爬虫的可能性。可以使用Selenium库来模拟这些用户行为。

(二)数据清洗与整理

获取到的京东商品详情数据可能存在各种问题,需要进行清洗和整理以确保数据的准确性和可用性。以下是一些常见的数据清洗和整理方法:

  • 去除重复数据:在爬取过程中,可能会获取到重复的商品数据。可以使用pandas库的drop_duplicates方法去除重复数据:
 

import pandas as pd

data = pd.DataFrame(your_data)

cleaned_data = data.drop_duplicates()

  • 处理缺失值:数据中可能存在缺失值,这会影响后续的分析和处理。可以根据具体情况选择合适的方法来处理缺失值,如填充默认值、使用均值或中位数填充等。例如,使用pandas库的fillna方法填充缺失值:
 

data.fillna(default_value, inplace=True)

  • 统一数据格式:商品详情中的数据可能存在格式不一致的情况,如价格的格式、日期的格式等。可以使用正则表达式或字符串处理方法来统一数据格式。例如,将价格格式统一为数字形式:
 

import re

price = '¥199.99'

cleaned_price = float(re.sub(r'[¥,]', '', price))

(三)错误处理与优化

在代码运行过程中,可能会出现各种错误,需要进行适当的错误处理以保证程序的稳定性。同时,可以对代码进行优化以提高性能。以下是一些建议:

  • 错误处理:使用try-except语句来捕获和处理可能出现的错误。例如,在发送请求时可能会出现网络连接错误,可以使用以下方式进行处理:
 

import requests

try:

response = requests.get(url)

except requests.exceptions.RequestException as e:

print(f'请求出现错误:{e}')

  • 优化性能:可以从以下几个方面优化代码性能:
    • 并发执行:使用多线程或异步编程技术可以提高爬取效率。例如,使用concurrent.futures库实现多线程爬取:
 

import concurrent.futures

def fetch_data(url):

# 发送请求并获取数据的代码

urls = [your_urls]

with concurrent.futures.ThreadPoolExecutor() as executor:

futures = [executor.submit(fetch_data, url) for url in urls]

for future in concurrent.futures.as_completed(futures):

data = future.result()

# 处理数据的代码

  • 缓存数据:对于一些不经常变化的数据,可以考虑进行缓存,避免重复请求。可以使用functools.lru_cache装饰器来实现简单的缓存功能:
 

import functools

@functools.lru_cache(maxsize=None)

def fetch_data(url):

# 发送请求并获取数据的代码

data = fetch_data(url)

  • 优化算法:检查代码中的算法是否可以进行优化,减少不必要的计算和循环。例如,在数据清洗过程中,可以使用更高效的算法来处理大规模数据。

五、总结与展望

(一)方法与经验总结

使用 Python 获取京东商品详情是一项具有实际应用价值的技术。在这个过程中,我们积累了以下方法和经验:

1. 代码实现技巧

  • 合理利用各种 Python 库,如 requests 用于发送请求、BeautifulSoup 和 lxml 用于页面解析、Selenium 处理动态加载内容等。
  • 注意伪装请求,设置合适的 User-Agent,降低被反爬虫机制识别的风险。
  • 对于获取到的商品链接和 ID,通过循环遍历搜索结果页面,结合 XPath 表达式提取所需信息,并进行数据的整理和存储。

2. 应对挑战策略

  • 面对京东的反爬虫策略,我们可以采取降低爬取频率、使用代理 IP 和模拟用户行为等方法。例如,设置适当的时间间隔,从代理服务提供商获取代理 IP 并随机使用,以及使用 Selenium 模拟用户的点击、滚动等行为。
  • 在数据清洗与整理方面,去除重复数据、处理缺失值和统一数据格式是关键步骤。可以使用 pandas 库的相关方法进行操作,确保数据的准确性和可用性。
  • 对于错误处理和优化性能,使用 try-except 语句捕获错误,通过并发执行、缓存数据和优化算法等方式提高代码的性能和效率。

(二)未来发展趋势

在未来,使用 Python 获取京东商品详情的技术将呈现以下发展趋势:

1. 智能化与自动化

随着人工智能和机器学习技术的发展,未来的爬虫程序可能会更加智能化。例如,自动识别反爬虫机制并采取相应的应对策略,自动调整爬取频率和代理 IP 的使用,以提高爬取的成功率和效率。同时,自动化的数据清洗和整理过程也将更加完善,减少人工干预的需求。

2. 数据深度分析与应用

获取到的京东商品详情数据将不仅仅用于简单的市场调研和竞品分析,还将在更广泛的领域得到应用。例如,通过对商品价格、销量、用户评价等数据的深度分析,可以为企业提供更精准的市场预测和营销策略建议。同时,结合大数据和机器学习技术,可以实现个性化推荐、商品质量监测等功能。

3. 合规与安全

随着数据安全和隐私保护的重要性日益凸显,未来在获取京东商品详情数据时,将更加注重合规性和安全性。开发者需要严格遵守相关法律法规和京东的开放平台规则,确保数据的合法使用和保护用户隐私。同时,京东也将加强对 API 接口和数据的安全管理,提高数据的安全性和可靠性。

(三)应用前景展望

使用 Python 获取京东商品详情的技术在未来将有广阔的应用前景:

1. 电商行业

对于电商从业者来说,该技术可以帮助他们更好地了解市场动态,优化库存管理,提高销售效率。通过实时获取商品详情数据,可以及时调整商品价格、促销策略和库存水平,以满足市场需求。同时,结合数据分析和机器学习技术,可以实现个性化推荐、精准营销等功能,提高用户的购物体验和忠诚度。

2. 市场调研与竞品分析

市场调研人员可以利用该技术获取大量的商品详情数据,进行深入的市场分析和竞品研究。通过对不同产品的价格趋势、销量变化、用户评价等数据的分析,可以为企业制定更精准的市场策略提供有力支持。同时,竞品分析也可以帮助企业了解竞争对手的产品特点和优势,找出自身产品的不足之处,进行有针对性的改进和优化。

3. 数据分析与决策支持

获取到的京东商品详情数据可以为企业的数据分析和决策支持提供丰富的信息来源。通过对数据的挖掘和分析,可以发现市场趋势、用户需求和消费行为等方面的规律,为企业的战略规划、产品研发、市场营销等决策提供科学依据。同时,结合大数据和机器学习技术,可以实现预测分析、风险评估等功能,帮助企业更好地应对市场变化和风险挑战。

总之,使用 Python 获取京东商品详情的技术具有重要的现实意义和广阔的应用前景。在未来的发展中,我们需要不断探索和创新,提高技术的智能化、自动化水平,加强数据的深度分析和应用,同时注重合规与安全,为企业和社会创造更大的价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[C++]——位图与布隆过滤器

目录 一、前言 二、正文 1.位图 1.1 位图概念 1.2 位图的实现 1.2.1 Set 1.2.2 ReSet 1.2.3 Text 1.3 位图的应用 2.布隆过滤器 2.1布隆过滤器的提出 2.2 布隆过滤器概念 2.3 布隆过滤器的实现 2.3.1布隆过滤器的插入 2.3.2 布隆过滤器的查找 2.3.3 布隆过滤器…

工具收集 - java-decompiler / jd-gui

工具收集 - java-decompiler / jd-gui 参考资料 用法:拖进来就行了 参考资料 https://github.com/java-decompiler/jd-gui 脚本之家:java反编译工具jd-gui使用详解

Spark的容错机制:persist持久化机制checkpoint检查点机制区别

persist持久化机制: 作用:将RDD的数据缓存到内存或磁盘中,以便在后续操作中重复使用,减少计算开销。特点: 灵活性高:可以指定不同的存储级别(如仅内存、内存和磁盘、仅磁盘等)。 数…

Elasticsearch集群和Kibana部署流程

搭建Elasticsearch集群 1. 进入Elasticsearch官网下载页面,下载Elasticsearch 在如下页面选择Elasticsearch版本,点击download按钮,进入下载页面 右键选择自己操作系统对应的版本,复制下载链接 然后通过wget命令下载Elastics…

Flink API 的层次结构

Apache Flink 提供了多层 API,每层 API 针对不同的抽象层次和用途,使得开发者可以根据具体需求选择合适的 API 层次。以下是 Flink API 的层次结构及其简要说明:

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构,肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权,负责对犯罪行为提起公诉,并监督整个诉讼过程,同时积极参与社会治理,保护公民权益,推动法…

SpringCloud框架学习(第二部分:Consul、LoadBalancer和openFeign)

目录 六、Consul服务注册和发现 1.基本介绍 2.下载运行 3.服务注册与发现 (1)支付服务provider8001注册进consul (2)修改订单服务cloud-consumer-order80 4.CAP (1)CAP理论 (2&#x…

成都睿明智科技有限公司解锁抖音电商新玩法

在这个短视频风起云涌的时代,抖音电商以其独特的魅力迅速崛起,成为众多商家争夺的流量高地。而在这片充满机遇与挑战的蓝海中,成都睿明智科技有限公司犹如一颗璀璨的新星,以其专业的抖音电商服务,助力无数品牌实现从零…

14.UE5爆炸伤害,场景变暗,时间轴

2-16 爆炸伤害,球体监测,场景变暗、时间轴_哔哩哔哩_bilibili 目录 1.UE5的爆炸伤害 ​2.后期盒子实现场景变暗 1.UE5的爆炸伤害 进入流星火雨的发射物蓝图编辑器中 对我们以前的重叠事件进行回顾,并修改使之实现爆炸伤害的效果 这是我们…

LeetCode面试经典150题C++实现,更新中

用C实现下面网址的题目 https://leetcode.cn/problems/merge-sorted-array/?envTypestudy-plan-v2&envIdtop-interview-150 1、数组\字符串 88合并两个有序数组 以下是使用 C 实现合并两个有序数组的代码及测试用例 C代码实现 #include <iostream> #include &l…

YOLO即插即用---PConv

Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks 论文地址&#xff1a; 1. 论文解决的问题 2. 解决问题的方法 3. PConv 的适用范围 4. PConv 在目标检测中的应用 5. 评估方法 6. 潜在挑战 7. 未来研究方向 8.即插即用代码 论文地址&#xff1a; …

手写jdbc 工具类(封装思维,解决硬编码...)

目录 前言 手写jdbc 工具类 封装思维 对于封装思维的理解 举一个关于封装思维的例子 解决硬编码 什么是硬编码&#xff1f; 硬编码的例子&#xff1a; 解决办法 解法1 解法2 解法3 jdbc工具类总的代码如下 资源关闭的先后问题 解决办法&#xff1a; 总结 …

数据库的四个基本概念

数据&#xff0c;数据库&#xff0c;数据库管理系统和数据库系统是与数据库技术密切相关的4个基本概念。 1. 数据&#xff08;data&#xff09; 描述事物的符号记录&#xff0c;譬如&#xff1a;数字、文字、图形、图像、音频、视频等&#xff0c;多种表现形式&#xff0c;均可…

java---认识异常(详解)

还有大家来到权权的博客~欢迎大家对我的博客提出意见哦&#xff0c;有错误会及时改进的~点击进入我的博客主页 目录 一、异常的概念及体系结构1.1 异常的概念1.2 异常的体系结构1.3异常的分类 二、异常的处理2.1防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1异常声明throws2.3.…

移远通信亮相骁龙AI PC生态科技日,以领先的5G及Wi-Fi产品革新PC用户体验

PC作为人们学习、办公、娱乐的重要工具&#xff0c;已经深度融入我们的工作和生活。随着物联网技术的快速发展&#xff0c;以及人们对PC性能要求的逐步提高&#xff0c;AI PC成为了行业发展的重要趋势。 11月7-8日&#xff0c;骁龙AI PC生态科技日在深圳举办。作为高通骁龙的重…

【云原生开发】namespace管理的后端开发设计与实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

老破机器硬盘要坏,转移虚拟机里的打字平台过程全记录

我有一台老破机器&#xff0c;说破其实没多破&#xff0c;但是老应该是有几年了&#xff0c;这机器一开始一直放在领导办公室不让人用&#xff0c;后来因为单位整体搬迁&#xff0c;我跟领导讨了来&#xff0c;win10的系统&#xff0c;我装了个虚拟机好像是15的版本&#xff0c…

【JavaEE初阶】多线程上部

文章目录 本篇目标&#xff1a;一、认识线程&#xff08;Thread&#xff09;1.概念&#xff1a;2.创建线程 二、Thread 类及常见方法2.1 Thread 的常见构造方法2.2 Thread 的几个常见属性2.3 启动⼀个线程 - start()2.4 中断⼀个线程2.5 等待⼀个线程 - join()2.6 获取当前线程…

[vulnhub] Corrosion: 2

https://www.vulnhub.com/entry/corrosion-2,745/ 提示&#xff1a;枚举才是神 主机发现端口扫描 使用nmap扫描网段类存活主机 因为靶机是我最后添加的&#xff0c;所以靶机IP是6 &#xff0c;kali是10 nmap -sP 192.168.56.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) …

MySQL数据库的备份与还原

目录 mysql 数据库的备份 生成SQL脚本 1 在控制台使用mysqldump命令可以用来生成指定数据库的脚本 ​编辑2 在数据库图形化界面工具&#xff1a;DateGrip 中操作&#xff1a;导出 mysql 数据库的还原 执行SQL脚本 1 在控制台使用 命令&#xff0c;指定将sql脚本导入到指定…