把下厨房“本周最受欢迎菜谱”的“菜名、URL、食材”打印出来
http://www.xiachufang.com/explore/
import requests
#引用requests库
from bs4 import BeautifulSoup
#引用BeautifulSoup库
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
#定义请求头(第六课会讲)
res_foods = requests.get('http://www.xiachufang.com/explore/',headers=headers)
#获取数据,传入参数,第一个为url,第二个为请求头
bs_foods = BeautifulSoup(res_foods.text,'html.parser')
#解析数据,把网页解析为BeautifulSoup对象
tag_name = bs_foods.find_all('p',class_='name')
tag_ingredients = bs_foods.find_all('p',class_='ing ellipsis')
#提取数据,通过匹配标签和属性提取我们想要的数据
list_all = []
#创建一个空列表,用于储存信息
for x in range(len(tag_name)):
list_food = [tag_name[x].text[18:-14],tag_name[x].find('a')['href'],tag_ingredients[x].text[1:-1]]
list_all.append(list_food)
print(list_all)
仔细分析
tag_name = bs_foods.find_all('p',class_='name')
tag_ingredients = bs_foods.find_all('p',class_='ing ellipsis')
for x in range(len(tag_name)):
list_food = [tag_name[x].text[18:-14],tag_name[x].find('a')['href'],tag_ingredients[x].text[1:-1]]
#文本序号的确定:先打印没有切片的,然后数一下