打印 JSON python 中的某些元素
Printing certain elements from JSON python
我 运行 下面的代码使用 python 创建了一个 json 结构,我正在尝试为'foods'结构
import re
import json
from subprocess import check_output
import requests
from bs4 import BeautifulSoup
data = re.search("__reactInitialState__ = (.*);", requests.get(url).text)[1]
data = json.loads(data)
我似乎无法访问 foods 结构以获取标题元素以获取输出。有什么想法吗?
我认为你不需要 re。
import requests
from bs4 import BeautifulSoup as BS
(r := requests.get('https://www.bbc.co.uk/food/recipes/avocado_pasta_with_peas_31700')).raise_for_status()
soup = BS(r.text, 'lxml')
ingredients = [li.find('a').getText() for li in soup.select('li.recipe-ingredients__list-item')]
print(ingredients)
输出:
['penne', 'avocado', 'garlic', 'coconut oil', 'salt', 'lemon', 'mint', 'peas', 'chilli']
以 json 格式输出标题元素。
import re
import json
import requests
url = "https://www.bbc.co.uk/food/recipes/avocado_pasta_with_peas_31700"
data = re.search("__reactInitialState__ = (.*);", requests.get(url).text)[1]
data = json.loads(data)
data=data["recipeReducer"]["recipe"]["stagesWithoutLinks"][0]['ingredients']
title=[]
for i in data:
j=i['foods'][0]['title']
title.append(j)
print(title)
输出:
['penne', 'avocado', 'garlic', 'coconut oil', 'salt', 'lemon', 'mint', 'peas', 'chilli']
我 运行 下面的代码使用 python 创建了一个 json 结构,我正在尝试为'foods'结构
import re
import json
from subprocess import check_output
import requests
from bs4 import BeautifulSoup
data = re.search("__reactInitialState__ = (.*);", requests.get(url).text)[1]
data = json.loads(data)
我似乎无法访问 foods 结构以获取标题元素以获取输出。有什么想法吗?
我认为你不需要 re。
import requests
from bs4 import BeautifulSoup as BS
(r := requests.get('https://www.bbc.co.uk/food/recipes/avocado_pasta_with_peas_31700')).raise_for_status()
soup = BS(r.text, 'lxml')
ingredients = [li.find('a').getText() for li in soup.select('li.recipe-ingredients__list-item')]
print(ingredients)
输出:
['penne', 'avocado', 'garlic', 'coconut oil', 'salt', 'lemon', 'mint', 'peas', 'chilli']
以 json 格式输出标题元素。
import re
import json
import requests
url = "https://www.bbc.co.uk/food/recipes/avocado_pasta_with_peas_31700"
data = re.search("__reactInitialState__ = (.*);", requests.get(url).text)[1]
data = json.loads(data)
data=data["recipeReducer"]["recipe"]["stagesWithoutLinks"][0]['ingredients']
title=[]
for i in data:
j=i['foods'][0]['title']
title.append(j)
print(title)
输出:
['penne', 'avocado', 'garlic', 'coconut oil', 'salt', 'lemon', 'mint', 'peas', 'chilli']