【发布时间】:2020-12-23 15:29:12
【问题描述】:
谁能帮我解决这个错误。我的头很痛,我浪费了我 1 个小时来解决这个问题。实际上,我将 query_links 设为 null(我应该获取所有类的值),但并非如此。
from flask import Flask, jsonify, request
# from markupsafe import escape
from bs4 import BeautifulSoup
import requests
app = Flask(__name__)
@app.route('/api/',methods=['GET'])
def API():
if request.method == 'GET':
url = 'https://www.brainyquote.com/'
query = str(request.args['query'])
if " " in query:
query = str(query).replace(" ","+")
else:
pass
search = '/search_results?q=' + query
ready_url = url + search
content = requests.get(ready_url).content
soup = BeautifulSoup(content, 'html.parser')
quotes_links = soup.find_all("a", class_= "b-qt")
print("hello")
print(quotes_links)
list = []
for i in quotes_links:
d = {}
quote_url = url + i.get('href')
quote_content = requests.get(quote_url).content
quote_soup = BeautifulSoup(quote_content, 'html.parser')
d['quote'] = quote_soup.find('p', class_= "b-qt").text
d['author'] = str(quote_soup.find('p', class_= "bq-aut").text).strip()
list.append(d)
return jsonify(list)
if __name__ == "__main__":
app.run(debug=True)
请帮助我。为什么我在 json 中没有得到任何价值。我的清单是空的。而且 Query_links 也是空的。有没有语法错误或其他什么?
【问题讨论】:
-
请看一下这个stackoverflow.com/a/34019493/9592801,希望对你有帮助。
标签: python list api flask beautifulsoup