按照searxng文档启动的docker实例Http访问search接口报错403

searxng文档:https://docs.searxng.org/admin/installation-docker.html
启动脚本

$ mkdir my-instance
$ cd my-instance
$ export PORT=8686
$ docker pull searxng/searxng
$ docker run --rm \
	-d -p ${PORT}:8080 \
    -v "${PWD}/searxng:/etc/searxng" \
    -e "BASE_URL=http://localhost:$PORT/" \
    -e "INSTANCE_NAME=my-instance" \
    searxng/searxng

解决方法
打开my-instance/searxng/settings.yml,搜索formats:
在这里插入图片描述
添加- json
重启容器 docker restart ${container_id},即可访问成功
在这里插入图片描述

### 使用 SearXNG API 进行结果排序 为了通过 SearXNG API 对查询结果进行排序,通常需要理解该搜索引擎API的具体参数设置以及支持的功能。SearXNG作为一个元搜索引擎允许用户自定义多个请求参数来调整返回的结果集。 当涉及到排序功能时,取决于所调用的引擎及其配置是否提供了特定字段用于控制输出顺序。对于某些数据源而言,可能直接提供了一个`order_by`或类似的参数让用户指定按照哪个属性来进行升序或降序排列;而对于其他情况,则可能是间接影响因素,比如通过时间范围筛选(`time_range`)使得较新的条目优先显示[^1]。 下面是一个简单的Python脚本例子展示如何利用requests库向SearXNG发送HTTP GET请求并尝试获取按日期排序后的网页链接列表: ```python import requests def get_sorted_results(query, sort_by='date'): url = "https://searx.example.com/search" params = { 'q': query, 'sort': sort_by # 假设存在这样的参数可以用来指示排序方式 } response = requests.get(url, params=params) if response.status_code == 200: data = response.json() return data['results'] else: raise Exception(f"Failed to fetch search results: {response.text}") if __name__ == "__main__": try: sorted_links = get_sorted_results('machine learning tutorials') for link in sorted_links[:5]: print(link['url']) except Exception as e: print(e) ``` 需要注意的是上述代码中的`'sort'`键名和其可接受值是假设性的,在实际应用前应当查阅最新的官方文档确认具体实现细节[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值