2023 年 9 月更新:合并技术栈,新样式页
新的跳转样式
另外为什么一定要是https://www.travellings.cn/go.html ?
也可以是https://www.travellings.cn/coder-1024.html !
如果你使用了https://www.travellings.cn/coder-1024.html,那么你会跳转到同样使用这个样式的站点,这显然比跳转的时候弹出一个分类询问要更酷!你们使用相同的跳转页,代表你们有着一样的品味,对吧!(此功能会在 10 月 24 号正式上线)
如果你想使用 coder 跳转页,但还是想像原来一样在总成员库里随机跳转?
很简单https://www.travellings.cn/coder-1024-go.html !
现在你可以使用任意一种样式页来进行跳转,如果关于样式你忽然有了个新点子,code it and PR it!
技术栈
我合并了技术栈,先从博客开刀。从分支合并入了主库。
刚刚我们说到了新的样式,它是怎么实现的?
首先我们会在https://www.travellings.cn/coder-1024.html里写上获取的接口比如
javascript
fetch("https://api.travellings.cn/coder");
其次我们会定期的爬取成员的站点,检测站点是否存活,是否存在开往的跳转页。我们会在判断的时候这样写:
python
# 示例:检测站点是否存在https://www.travellings.cn/coder-1024.html
if selector.css('a[href^="https://www.travellings.cn/coder-1024.html"]'):
print("给此站点在数据库添加标签coder")
connect_update(
"UPDATE webs SET tag = '{}' WHERE link='{}';".format("coder", url)
)
最后在 api 界面这样写
python
@app.get("/coder")
def get_coder_random_num():
# 随机选择1条存活,并标签为coder的数据
random_num = connect(
"SELECT * FROM webs WHERE status='RUN' AND tag='coder' order by random() limit 1;"
)[0]
# 返回这些数值
return {"id": random_num[0], "name": random_num[2], "url": random_num[-1]}
最后,开往长期招全栈工程师,感兴趣可以联系我们。