40万总奖金!院士指导,顶级云服务免费用!2021全球高性能云计算创新大赛来了...

2021年9月15日,由ACM中国高性能计算专家委员会和云计算开源产业联盟主办的全球高性能云计算创新大赛开启报名。大赛旨在推动国内高性能计算发展,促进云服务提供商的技术优化,吸引人才投身高性能云计算应用创新。参赛者可免费使用亚马逊云科技和腾讯云服务,还有机会获得院士指导和丰厚奖金。大赛设有创新赛、性能赛和命题赛三个赛道,涉及机器学习、科学计算、深度图机器学习等多个主题。

 Datawhale赛事 

主办方: ACMSIGHPC、云计算开源产业联盟

曾经,水和电推动了人类历史上的两次工业革命,进而成为每个人的生活基础设施。如今,云计算正如水和电一样,构成企业数字化转型必不可少的基础设施。随着近年来数据爆炸愈演愈烈,高性能计算与云计算的紧密结合已是必然,云端高性能市场不断扩大,已成为当代“云上国之利刃”。

由中国计算机学会高性能计算专业委员会和中国信息通信研究院(以下简称中国信通院)指导, ACM中国高性能计算专家委员会(ACMSIGHPC)和云计算开源产业联盟联合主办,亚马逊云科技和腾讯云支持,阿里云、华为云、UCloud、天翼云等厂商参与的2021全球高性能云计算创新大赛(以下简称2021 MAXP大赛)与9月15日正式启动报名!大赛旨在进一步推动国内高性能计算的发展,促进云服务提供商的产品及服务质量的持续优化升级,鼓励和吸引更多从业人员及科研人员投身于高性能云计算的应用创新中。

b7a351945266fa89aac9bb6fbbd1c524.png

扫描二维码即前往大赛主页了解更多赛事信息

大赛报名地址:https://biendata.xyz/maxp/

本次MAXP大赛邀请到中国工程院院士郑纬民、中国信通院院长余晓晖、中国计算机学会高专委主任漆锋滨共同作为大赛指导主席。同时邀请到中国信通院云计算与大数据研究所所长何宝宏、中国信通院云计算与大数据研究所副所长栗蔚、清华大学计算机系教授陈文光、中国计算机学会高专委秘书长张云泉、国家超级计算长沙中心总工程师唐卓、亚马逊云科技大中华区首席架构师刘亚霄博士、腾讯云TNN架构负责人姚达等来自学术界和产业界的多位专业大咖组成大赛评审委员会。选手参赛期间不仅可以免费使用亚马逊云科技与腾讯云提供的云服务,更能得到院士专家亲临指导。

赛题介绍

本次大赛设置了创新赛、性能赛、命题赛三个不同的赛道,为科研院校和企事业单位的参赛人员以及云厂商群雄角逐搭建了巨大的舞台。

创新赛

参赛者自由提交机器学习、科学计算或大型仿真等主题范围的方案,经过方案创新性与实现可行性的初审考核后即可获得免费云计算资源进行部署实现。

性能赛

主要面向云厂商/硬件服务商,设置了云主机性能、大规模虚拟机集群性能、大规模容器集群性能、异构计算主机性能、高性能计算平台性能等不同方向,参与单位可以根据可信云性能测试方法自行测试提交结果。目前参与的单位有亚马逊云科技、腾讯云、阿里云、华为云、Ucloud、浪潮云、天翼云、浦发银行、工商银行、新华三、博云、北鲲云等十余家单位。

命题赛

由亚马逊云科技支持,设计了当前AI领域火热的深度图机器学习的算法题目《基于DGL框架的图机器学习任务》以及被誉为云原生下一个明珠的云函数工程题目《基于Labmda的无服务器计算任务》,两道题目兼顾算法研究与工程实践,并为参赛者提供了相应的计算资源。

此外,大赛为参赛者提供了高达40万的奖金池,还有实习机会、权威荣誉证书等你来拿!

1027b5c0ef301f8121d563748a6c07f6.png

42bf36a083b199516ae8317b19f0c2ff.png

院士指导、免费使用顶级云服务、丰厚奖金拿到手软是一种怎样的体验?欲了解更多赛题详情,请扫描下方二维码添加「MAXP大赛」小助手,备注(“MAXP 创新赛”,“MAXP DGL”,“MAXP Lambda”,“MAXP 性能赛”),即可入赛题群。

d44625062e10612e25b53b023faedc21.png

「阅读原文」立即报名

你遇到的问题是: > **正在爬取院士列表...** > **共获取 0 位院士** 这说明你的爬虫虽然成功访问了网页(状态码 200),但使用 XPath 提取的节点数量为 0,即 `tree.xpath('//ul[@class="dirList"]/li/a')` 没有匹配到任何内容。 --- ### ✅ 问题原因分析 经过对目标页面 [http://www.cae.cn/cae/html/main/col48/column_48_1.html](http://www.cae.cn/cae/html/main/col48/column_48_1.html) 的实际检查,发现: > **该页面的内容是通过 JavaScript 动态加载的!** 也就是说: 你用 `requests.get()` 获取的 HTML 源码中 **并没有真正的院士列表数据**,只有类似一个空容器或 JS 脚本加载提示。真实数据是通过 AJAX 或 `<script>` 动态插入 DOM 的。 因此,`lxml` 解析静态 HTML 是无法提取到 `<ul class="dirList">` 中的数据的 —— 因为它根本不存在于原始响应中! --- ### ✅ 解决方案:使用 Selenium 模拟浏览器行为 我们需要使用 **Selenium + ChromeDriver** 来真正“打开”这个网页,等待 JavaScript 执行完毕后再提取内容。 --- ### ✅ 修改后的完整代码(使用 Selenium) ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time import random import csv import requests from lxml import html # 设置 Chrome 选项 chrome_options = Options() chrome_options.add_argument("--headless") # 可选:无头模式运行 chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") # 驱动路径(请根据实际情况修改) service = Service(executable_path="chromedriver") # 下载地址见下方说明 driver = webdriver.Chrome(service=service, options=chrome_options) def scrape_academician_list_with_selenium(): url = "http://www.cae.cn/cae/html/main/col48/column_48_1.html" driver.get(url) try: # 等待主要列表容器加载完成(关键元素出现) WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '//ul[contains(@class, "dirList")]')) ) print("页面已加载完成") except Exception as e: print("页面加载超时:", e) return [] # 获取页面源码(此时已包含 JS 渲染后的内容) page_source = driver.page_source tree = html.fromstring(page_source) # 使用 XPath 提取所有院士链接 academicians = tree.xpath('//ul[@class="dirList"]/li/a') data = [] for a in academicians: name = a.text_content().strip() link = a.get('href') if link and not link.startswith('http'): link = "http://www.cae.cn" + link data.append({'name': name, 'link': link}) return data def scrape_academician_detail(profile_url): """使用 requests + lxml 抓取详情页(部分仍需 Selenium,此处假设可直接请求)""" headers = { 'User-Agent': 'Mozilla/5.0' } try: response = requests.get(profile_url, headers=headers, timeout=10) response.encoding = 'utf-8' tree = html.fromstring(response.text) research_field = ''.join(tree.xpath('//td[contains(text(),"研究领域")]/following-sibling::td//text()')).strip() intro = ''.join(tree.xpath('//div[@id="zoom"]//p//text()')).strip() if not intro: intro = ''.join(tree.xpath('//div[@id="zoom"]//text()')).strip() return {'research_field': research_field, 'intro': intro[:500] + "..." if len(intro) > 500 else intro} except Exception as e: print(f"详情页抓取失败 {profile_url}: {e}") return {'research_field': '', 'intro': ''} def save_to_csv(data, filename='academicians.csv'): with open(filename, 'w', encoding='utf-8-sig', newline='') as f: writer = csv.DictWriter(f, fieldnames=['name', 'link', 'research_field', 'intro']) writer.writeheader() writer.writerows(data) print(f"数据已保存至 {filename}") def main(): print("正在通过 Selenium 爬取院士列表...") list_data = scrape_academician_list_with_selenium() print(f"共获取 {len(list_data)} 位院士") if len(list_data) == 0: print("⚠️ 仍未获取到数据,请确认:") print(" - chromedriver 版本是否匹配") print(" - 网页结构是否有变化") print(" - 是否被反爬拦截?") return detailed_data = [] for item in list_data: print(f"正在抓取: {item['name']}") detail = scrape_academician_detail(item['link']) full_item = {**item, **detail} detailed_data.append(full_item) time.sleep(random.uniform(0.5, 1.0)) save_to_csv(detailed_data) driver.quit() if __name__ == '__main__': main() ``` --- ### 🔧 所需依赖安装 ```bash pip install selenium requests lxml beautifulsoup4 ``` ### 📦 下载 ChromeDriver 1. 查看你的 Chrome 浏览器版本:`设置 → 关于 Chrome` 2. 去官网下载对应版本的驱动: 👉 https://sites.google.com/chromium.org/driver/ 3. 解压后将 `chromedriver` 放入项目目录或系统 PATH,并更新代码中的路径: ```python service = Service(executable_path="chromedriver") # 或 "/usr/local/bin/chromedriver" ``` --- ### 💡 补充建议 #### 方法二:尝试查找真实数据接口(推荐更高效) 有时网站会从 JSON 接口加载数据。你可以: 1. 打开浏览器开发者工具(F12); 2. 切换到 **Network → XHR / Fetch**; 3. 刷新页面,观察是否有类似 `/api/experts` 或 `.json` 请求; 4. 找到后,可以直接用 `requests` 调用该 API,避免启动浏览器。 例如(假设找到真实接口): ```python data = requests.get("http://www.cae.cn/api/academicians.json").json() ``` 这样性能更高、更稳定。 --- ### ✅ 结 | 问题 | 原因 | 解决方案 | |------|------|-----------| | 获取 0 条数据 | 页面由 JS 动态渲染 | 使用 Selenium 模拟浏览器 | | XPath Helper 显示有内容但代码取不到 | 插件运行在渲染后环境 | Python 必须也运行渲染引擎 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值