2022年,根据MIT Technology Review的报道,十大科技大事件如下:
密码的终结:新的认证方式,如通过电子邮件发送的链接、推送通知或生物识别扫描,正在取代传统密码,提供更简便、更安全的访问方式【12†来源】。
新冠病毒变种追踪:先进的基因组测序和全球监测能力改善了对新冠病毒变种的追踪和识别【13†来源】。
长效电网电池:基于铁的电池作为电网储能的更便宜、更实用的选择,支持着日益增长的可再生能源使用【14†来源】。
蛋白质折叠的人工智能:AI系统AlphaFold2在蛋白质结构的理解上取得了重大进展,这对各种疾病的药物设计至关重要【15†来源】。
疟疾疫苗:世界卫生组织批准了一种新的疟疾疫苗,这是针对寄生虫感染的首个疫苗,每年可以挽救成千上万的生命【16†来源】。
权益证明:这种验证加密货币交易的新方法比传统方法更节能,大幅减少了电力消耗【17†来源】。
针对新冠的药物:辉瑞公司开发出针对新冠病毒的有效药物,包括新的变种,为最终结束大流行提供了可能的途径【18†来源】。
实用的聚变反应堆:磁技术的突破使无限、无碳电力的聚变能源成为可能,逐步接近现实【19†来源】。
人工智能的合成数据:公司正在创建合成数据以训练AI,旨在避免数据混乱、偏见和隐私问题【20†来源】。
碳移除工厂:在冰岛开设的全球最大碳移除工厂,是减少大气中二氧化碳以缓解气候变化的一步【21†来源】。
这些突破代表了从能源和医疗保健到人工智能和环境保护等多个领域的重大进展。
“密码的终结” 是指在数字安全领域,传统的密码输入方式正在被更先进、更安全的认证方法所取代。这一变化主要得益于以下几个方面的技术进步:
多因素认证(MFA):这种方法结合了多种身份验证手段,如密码、手机上的认证应用或推送通知,以及生物识别等。MFA增加了安全性,因为即使其中一个认证因素被泄露或破解,其他因素仍然可以阻止未授权访问。
生物识别技术:生物识别技术使用独特的生理或行为特征来验证用户的身份,如指纹、面部识别、虹膜扫描甚至是心跳模式。生物识别提供了一种便捷且难以伪造的身份验证方式。
基于移动设备的认证:随着智能手机的普及,许多系统现在使用手机作为身份验证工具。例如,系统可能会发送一次性密码(OTP)到用户的手机,或者通过推送通知要求用户确认登录尝试。
硬件安全密钥:这些小型物理设备(如YubiKey)可以插入计算机或通过NFC与手机连接。它们生成一个无法复制的登录密钥,为用户提供一种安全的登录方式。
单点登录(SSO)和联合认证:这些技术允许用户使用一组凭据安全地访问多个服务和应用程序。例如,使用Google或Facebook账户登录不同的网站和服务。
行为分析和人工智能:一些高级系统使用AI来分析用户的行为模式(如打字方式、使用习惯等),以识别非法登录尝试。
这些技术的发展和应用表明,我们正越来越多地依赖于非传统密码的认证方式,这些方法不仅提高了安全性,还提供了更便捷的用户体验。然而,这并不意味着密码会完全消失,但它们的重要性和普遍性正在逐渐减少。【12†来源】
因为个人没有那么多数据,得依靠大的机构,比如百度热点、微博头条等。只是获取,存数据库(热点,级别,状态,时间)。
要使用 Python 编写一个爬虫来爬取百度热点并将其存储到数据库中,您需要遵循几个步骤。首先,确保您有 Python 环境和所需的库,如 `requests` 用于发送网络请求和 `BeautifulSoup` 用于解析 HTML。接着,选择一个数据库来存储数据,例如 SQLite 或 MySQL,并确保安装了相应的 Python 库。以下是一个简单的示例来说明这个过程:
确保安装了 requests
、beautifulsoup4
和 sqlite3
(如果您使用的是 SQLite)。您可以使用以下命令安装它们(如果尚未安装):
pip install requests beautifulsoup4
sqlite3
是 Python 的一部分,因此不需要额外安装。
import requests
from bs4 import BeautifulSoup
import sqlite3
# 爬取百度热点
def fetch_baidu_hotspots():
url = "http://top.baidu.com/buzz?b=1&c=513&fr=topbuzz_b1" # 百度热点 URL,可能需要更新
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
hotspots = []
for item in soup.find_all("tr")[1:]: # 跳过标题行
title = item.find("a").get_text().strip()
hotspots.append(title)
return hotspots
# 将热点保存到数据库
def save_to_database(hotspots):
conn = sqlite3.connect('hotspots.db')
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS hotspots (title TEXT)''')
# 插入数据
for title in hotspots:
c.execute("INSERT INTO hotspots (title) VALUES (?)", (title,))
conn.commit()
conn.close()
# 主函数
def main():
hotspots = fetch_baidu_hotspots()
save_to_database(hotspots)
print("热点已保存到数据库。")
if __name__ == "__main__":
main()
请根据您的具体需求调整这些代码。
报错不要紧,思路是对的,就只需AI来改改。跟踪发现是已经获得了内容,html解析不对。
<div class="category-wrap_iQLoo horizontal_1eKyQ"><a class="img-wrapper_29V76" href="https://www.baidu.com/s?wd=%E5%8D%9A%E5%A3%AB%E5%90%8E%E5%BD%93%E4%BA%A4%E8%AD%A615%E5%B9%B4%E5%90%8E%E7%AA%81%E7%84%B6%E7%81%AB%E4%BA%86&sa=fyb_news&rsv_dl=fyb_news" target="_blank"><div class="index_1Ew5p c-index-bg16"> 16 div><img src="https://fyb-1.cdn.bcebos.com/fyb/de6163834f53ca92c1273fff98ac9078.jpeg?x-bce-process=image/resize,m_fill,w_256,h_170" alt=""><div class="border_3WfEn">div>a><div class="trend_2RttY hide-icon"><div class="img-wrap_JPOmE trend-icon_1Z3Cd"><img src="//fyb-pc-static.cdn.bcebos.com/static/asset/icon-same_886375f242bd1538af21a9721f16b170.png">div><div class="hot-index_1Bl1a"> 3415632 div><div class="text_1lUwZ"> 热搜指数 div>div><img class="line_3-bzA" src="//fyb-pc-static.cdn.bcebos.com/static/asset/line-bg@2x_95cb5a089159c6d5a959a596d460d60a.png"><div class="content_1YWBm"><a href="https://www.baidu.com/s?wd=%E5%8D%9A%E5%A3%AB%E5%90%8E%E5%BD%93%E4%BA%A4%E8%AD%A615%E5%B9%B4%E5%90%8E%E7%AA%81%E7%84%B6%E7%81%AB%E4%BA%86&sa=fyb_news&rsv_dl=fyb_news" class="title_dIF3B " target="_blank"><div class="c-single-text-ellipsis"> 博士后当交警15年后突然火了 div><div class="c-text hot-tag_1G080">div>a><div class="hot-desc_1m_jR small_Uvkd3 "><a href="https://www.baidu.com/s?wd=%E5%8D%9A%E5%A3%AB%E5%90%8E%E5%BD%93%E4%BA%A4%E8%AD%A615%E5%B9%B4%E5%90%8E%E7%AA%81%E7%84%B6%E7%81%AB%E4%BA%86&sa=fyb_news&rsv_dl=fyb_news" class="look-more_3oNWC" target="_blank">查看更多>a>div><div class="hot-desc_1m_jR large_nSuFU "><a href="https://www.baidu.com/s?wd=%E5%8D%9A%E5%A3%AB%E5%90%8E%E5%BD%93%E4%BA%A4%E8%AD%A615%E5%B9%B4%E5%90%8E%E7%AA%81%E7%84%B6%E7%81%AB%E4%BA%86&sa=fyb_news&rsv_dl=fyb_news" class="look-more_3oNWC" target="_blank">查看更多>a>div>div>div>
要使用 Python 解析 HTML 并提取特定信息,您可以使用 `BeautifulSoup` 库,它是一个强大的库,专门用于解析 HTML 和 XML 文档。以下是一个简单的示例代码,展示了如何提取您提供的 HTML 片段中的标题“博士后当交警15年后突然火了”。
首先,确保您的环境中安装了 `beautifulsoup4`。如果尚未安装,您可以通过运行 `pip install beautifulsoup4` 来安装它。
接下来是解析 HTML 并提取标题的代码:
```python
from bs4 import BeautifulSoup
# 这是您提供的 HTML 片段
html_content = '''
<div class="category-wrap_iQLoo horizontal_1eKyQ">
<div class="content_1YWBm">
<a href="https://www.baidu.com/s?wd=%E5%8D%9A%E5%A3%AB%E5%90%8E%E5%BD%93%E4%BA%A4%E8%AD%A615%E5%B9%B4%E5%90%8E%E7%AA%81%E7%84%B6%E7%81%AB%E4%BA%86&sa=fyb_news&rsv_dl=fyb_news" class="title_dIF3B " target="_blank">
<div class="c-single-text-ellipsis"> 博士后当交警15年后突然火了 div>
a>
div>
div>
'''
# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 查找包含标题的 div 元素
title_div = soup.find('div', class_='c-single-text-ellipsis')
# 提取并打印标题文本
if title_div:
title = title_div.get_text(strip=True)
print(title)
else:
print("标题未找到")
这段代码首先创建了一个 BeautifulSoup
对象来解析 HTML。然后,它使用 find
方法查找具有特定类名('c-single-text-ellipsis'
)的 div
元素。最后,它提取并打印出该元素的文本内容。如果无法找到相应的元素,它将打印“标题未找到”。
import requests
from bs4 import BeautifulSoup
import sqlite3
# 爬取百度热点
def fetch_baidu_hotspots():
url = "https://top.baidu.com/board?tab=realtime" # 百度热点 URL,可能需要更新
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0",
"Accept-Encoding": "gzip, deflate, br"
}
response = requests.get(url, headers=headers)
# 打开一个文件,如果文件不存在则创建它
with open('response.txt', 'w', encoding='utf-8') as file:
# 向文件中写入内容
file.write(str(response.text))
soup = BeautifulSoup(response.content, 'html.parser')
hotspots = []
titleList = soup.find_all('div', class_='c-single-text-ellipsis')
# print(titleList)
for item in titleList[1:]: # 跳过标题行
title = item.get_text().strip()
hotspots.append(title)
# print(title);
return hotspots
# 将热点保存到数据库
def save_to_database(hotspots):
conn = sqlite3.connect('hotspots.db')
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS hotspots (title TEXT)''')
# 插入数据
for title in hotspots:
c.execute("INSERT INTO hotspots (title) VALUES (?)", (title,))
conn.commit()
conn.close()
# 主函数
def main():
hotspots = fetch_baidu_hotspots()
print(hotspots)
if len(hotspots) > 0 :
save_to_database(hotspots)
print("热点已保存到数据库。")
else:
print("未找到热点。")
if __name__ == "__main__":
main()
比如 以一个哲学家的角度,如何看待“博士后当交警15年后突然火了”,这一步需要用到chatGPT API接口。
using Newtonsoft.Json;
using System.Text;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
try
{
// 设置 API 密钥
string apiKey = "";
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
// 构建请求体
var requestData = new
{
model ="gpt-3.5-turbo-1106",
messages = new[] {
new { role = "system",content = "以一个哲学家的角度,如何看待“博士后当交警15年后突然火了”" },
},
temperature = 1,
max_tokens = 600
};
string json = JsonConvert.SerializeObject(requestData);
StringContent content = new StringContent(json, Encoding.UTF8, "application/json");
// 发送请求
HttpResponseMessage response = await client.PostAsync("https://api.openai.com//v1/chat/completions", content);
// 获取响应
string responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
// 解析content
dynamic data= JsonConvert.DeserializeObject(responseString);
var choices=data.choices;
if (choices!=null)
{
foreach (var choice in choices)
{
var message = choice.message;
Console.WriteLine($"content: {message.content}");
}
}
}
catch (HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
}
}
GPT4是不是越来越难用了,问一下就要证明自己是不是人类。不知道什么原因12月4日升级windows为11后就开始这样。这样还怎么拿它做项目?还怎么增协助,时间精力都浪费在证明自己是不是人类。