要求是将URL作为输入传递到端点。
URL看起来像这样:
"google.com:443/something/something.html?q=go+lang"
我如何将其传递给我的API获取方法作为localhost:5001/api/google.com:443/something/something.html?q=go+lang
目前,我正在使用烧瓶和烧瓶 - 即使我将URL编码为
google.com%3A443%2Fsomething%2Fsomething.html%3Fq%3Dgo%2Blang
并将其传递给我的API
api.add_resource(UrlInfo, '/api/<encoded_url>')
系统不会从整体上进行。它将解码并返回404
我想问一下是否有适当的方法可以通过整个URL?URL可能在路径中包含多个级别(斜线(。我该如何处理?
谢谢
尝试
api.add_resource(UrlInfo, '/api/<path:encoded_url>')
参考:https://flask.palletsprojects.com/en/1.1.x/quickstart/#variable-rules
这是我尝试的,绝对有效:
route('/testurl/<path:input_url>')
def testurl(input_url):
return input_url
url致电:http://127.0.0.1:5000/codesubmission/testurl/http://www.google.com/testthisout/
页面输出:http://www.google.com/testthisout/
所以,您只想循环浏览URL列表?这就是全部?下面的示例代码和反馈。
from bs4 import BeautifulSoup as BS
import requests
import pandas as pd
url_list = ['http://www.no1.com',
'http://www.no2.com',
'http://www.no3.com']
for link in url_list: