最新版本:成品小说网站源码仿笔趣阁+手机版APP带全自动采集功能
优采云 发布时间: 2022-10-06 15:15最新版本:成品小说网站源码仿笔趣阁+手机版APP带全自动采集功能
可组合性是重用系统组件来开发应用程序的一般能力。例如,乐高积木是可以创建的许多不同结构的构建块。在 web3 世界中,基于文本的 NFT 只是类似于乐高积木的单词列表,允许社区围绕这些可组合部分构建完全自动化的 采集fiction网站 源代码。
资料来源:xsymz.icu
本期文章将介绍我是如何搭建基于DevDaoNFT的动态视觉小说站源码DevDaoStory。我将重点介绍如何构建以下部分:
● 前端使用服务器端渲染
●使用 OpenSea API 进行身份验证
●使用Ren'py引擎生成独特的游戏
前端
用户界面是一个使用 HTML、Bootstrap、JavaScript、jinja2 和 JQuery 构建的 网站。我发现使用原语构建最容易,而不是被锁定在像 React 这样的框架中以获得简单的界面。
DevDaoStory 主页
由于我使用 jinja2 进行服务器端渲染,因此该应用程序托管在 AWS Lambda 和 API Gateway 上,每月有 100 万次免费使用事件,这为托管应用程序提供了一种经济高效的方式。
这个应用程序只有两个页面,主页和选择您的开发页面。这是在用户钱包中呈现 Devs 的代码片段。
{% for dev in devs %}
Dev #{{dev['id']}}
Os: {{dev['os']}}
Text Editor: {{dev['textEditor']}}
Language: {{dev['language']}}
Vibe: {{dev['vibe']}}
Location: {{dev['location']}}
Mind: {{dev['mind']}}
Industry: {{dev['industry']}}
Clothing: {{dev['clothing']}}
Background: {{dev['background']}}
身份
为了理解 Devs,用户已经连接到后端系统,我利用 ethers.js 库为用户提供了一种使用 MetaMask 签署“登录”消息的方法。
async function connectWallet() {
if (window.ethereum) {
try {
const accounts = await window.ethereum.request({ method: 'eth_requestAccounts' });
console.log("accounts")
console.log(accounts)
walletProvider = new ethers.providers.Web3Provider(window.ethereum)
walletSigner = walletProvider.getSigner();
const base_message = "Login to DevDaoStory"
const signature = await walletSigner.signMessage(base_message)
console.log(signature)
login_info = {}
login_info["address"] = accounts[0]
<p>
login_info["signature"] = signature
login_info["message"] = base_message
var login_info_string = JSON.stringify(login_info)</p>
此代码为用户提供了一种允许应用程序读取其公钥的方法,因此可以对其开发人员进行身份验证。
登录 DevDaoStory
一旦用户接受一个 POST 请求,它就会被发送到服务器以采集用户的详细信息
$.ajax({
type: "POST",
url: "/web3_login",
dataType: "json",
data: login_info_string,
contentType: "application/json",
success: function(data) {
console.log("login finished")
console.log(data)
...
},
error: function(xhr, textStatus, thrownError, data) {
alert("Error: " + thrownError);
$("body").css("opacity", "1");
$("#load_spinner").toggle();
}
})
可以利用web3 python 模块验证该消息。
from web3 import Web3
from eth_account.messages import encode_defunct
def verify_signature(address, signature, message, w3):
"""
Purpose:
Verify user signed the message
Args:
address - address of user
signature - the signature from user
message - message to check
Returns:
boolean - True if verify, false if not
"""
encoded_message = encode_defunct(text=message)
pub_key = w3.eth.account.recover_message(encoded_message, signature=signature)
logging.info(pub_key)
# make sure same case
if w3.toChecksumAddress(pub_key.lower()) == w3.toChecksumAddress(address.lower()):
return True
else:
return False
...
@application.route("/web3_login", methods=["POST"])
<p>
def web3_login():
"""
Purpose:
login
Args:
N/A
Returns:
login object
"""
jsonResp = {}
data = request.data
try:
login_info = json.loads(data.decode("utf-8"))
logging.info(login_info)
address = w3.toChecksumAddress(str(login_info["address"]).lower())
message = str(login_info["message"])
signature = str(login_info["signature"])
valid = web3_utils.verify_signature(address, signature, message, w3)</p>
有关设置 python web3 环境的更多信息,请查看文档
开放式 API
验证消息后,我们现在可以使用 OpenSea API 为用户获取 Devs。
def get_opensea_assets(userAddress: str, contract: str):
"""
Purpose:
Get assets from opensea
Args:s
userAddress: user to get
contract: contract to get
Returns:
json_obj - Opensea assets
"""
API_KEY = os.environ["OPENSEA_API"]
HEADERS = {"x-api-key": API_KEY, "Accept": "application/json"}
url = "https://api.opensea.io/api/v1/assets"
querystring = {
"owner": userAddress,
"order_direction": "desc",
"offset": "0",
"limit": "20",
"asset_contract_address": contract,
}
json_obj = requests.get(url, params=querystring, headers=HEADERS).json()
return json_obj["assets"]
assets = web3_utils.get_opensea_assets(address, DEVS_CONTRACT)
API 调用将获取有关项目的所有信息,包括 tokenid。通过在 pixel-avatars 项目之上构建,我们现在可以获取图像以及定义您的 Dev 的数据,因此它可以在前端渲染。
综上所述
DevDaoStory 构建的手机版APP小说网站源码非常有趣,保证其他开发者可以轻松从开源源码中打开。
最新版:优采云采集器下载官网
优采云采集器是一个非常实用和强大的网页数据采集器,涵盖金融、交易、社交网站、电商产品等广泛的领域。网站数据可以正常采集向下并可以导出,软件界面非常简洁明了,使用方便快捷,让你繁琐复杂的工作变得简单有趣!
功能说明
简单采集
简单的采集模式,内置数百个主流网站数据源,如京东、天猫、大众点评等流行的采集网站,只需参考模板只需简单设置参数,即可快速获取公共数据网站。
智能采集
优采云采集根据不同网站,提供多种网页采集策略及配套资源,可自定义配置、组合使用、自动处理。从而帮助整个采集流程实现数据的完整性和稳定性。
云采集
云采集支持5000多台云服务器,7*24小时不间断运行,可实现定时采集,无需人员值守,灵活贴合业务场景,助您提升采集效率,保证数据的及时性。
API接口
通过优采云 API,可以轻松获取优采云任务信息和采集获取的数据,灵活调度任务,如远程控制任务启动和停止,高效实现数据采集 和归档 . 基于强大的API系统,还可以与公司内部的各种管理平台无缝对接,实现各种业务自动化。
自定义采集
根据不同用户的采集需求,优采云可以提供自定义模式自动生成爬虫,可以批量准确识别各种网页元素,以及翻页、下拉、ajax 、页面滚动、条件判断等多种功能,支持复杂的网站采集网页结构,满足多种采集应用场景。
便捷的计时功能
只需简单的点击几下设置,即可实现对采集任务的定时控制,无论是单个采集定时设置,还是预设日或周、月定时采集,您可以同时自由设置多个任务,根据需要进行选择时间的多种组合,灵活部署自己的采集任务。
全自动数据格式化
优采云内置强大的数据格式化引擎,支持字符串替换、正则表达式替换或匹配、去除空格、添加前缀或后缀、日期时间格式化、HTML转码等多项功能,采集全自动处理过程中,无需人工干预,即可获得所需的格式数据。
多级采集
很多主流新闻和电商网站s包括一级产品listing页面、二级产品详情页、三级评论详情页;无论网站有多少层级,优采云都可以拥有无限层级的采集数据,满足各种业务采集的需求。
支持网站登录后采集
优采云内置采集登录模块,只需要配置目标网站的账号密码,即可使用该模块采集登录数据; 同时,优采云还带有采集cookie自定义功能,首次登录后可以自动记住cookie,免去多次输入密码的繁琐,支持更多采集网站 的。