如何用python获取实用的菜谱?

  • 更新时间:2021-07-01 08:56:15
  • 编辑:厉嘉致
为找教程的网友们整理了相关的编程文章,网友唐宏义根据主题投稿了本篇教程内容,涉及到数据、链接、菜名、使用、获取相关内容,已被875网友关注,内容中涉及的知识点可以在下方直接下载获取。

参考资料

正文内容

码农之家最近发表了一篇名为《如何用python获取实用的菜谱?》的py文章,感觉很有用处,增加了更多知识点内容,为了方便大家的阅读。

如何用python获取实用的菜谱?

1、过程分析

(1)进入网页——下厨房,右键->检查->Network->All,刷新网页点击第0个请求,再点击response。按下ctrl+f查找任意一个菜名,如能在response中找到,则数据放在html里。则可返回观察网页源代码,点击Elements。

注:如果在response中找不到数据,则数据应在XHR里,那么就要使用另一种方式抓取数据,本文只介绍在html里抓取数据

(2)在Elements找到我们需要抓取的数据(菜名、材料、链接)。可以右击菜名,快速查看。你可以在标签上找到菜名和链接。

2、实例

(1)模块导入

#没有模块的请先下载相关模块,可以在终端输入 **pip install 模块名** 下载,或者在pycharm软件中点击
File->Setting->project->python interpreter 里下载。
#使用request来获取数据,使用BeautifulSoup来解析数据,使用csv或者openpyxl来存储数据。
import requests,csv,openpyxl
from bs4 import BeautifulSoup

(2)获取解析数据

#获取所有目标url,本周最受欢迎菜谱里一共有20页,观察网址我们发现,只需要通过改变链接末尾的page=的数值即可实现翻页。
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'} #添加request headers,伪装成浏览器登录,若不添加则会被浏览器认出来是爬虫,而有的浏览器会限制爬虫,比如下厨房。
foods_list = [] #存储食物数据
for i in range(1,21):
    url = 'https://www.xiachufang.com/explore/?page='+str(i) #通过改变i的数值达到爬取所有网页的目的
    res = requests.get(url,headers=headers) #获取数据
    soup = BeautifulSoup(res.text,'html.parser') #解析数据
    inf = soup.find_all('div',class_="recipe recipe-215-horizontal pure-g image-link display-block") #找到最小父级共同标签
    for food in inf:
       food_name = food.find('img')['alt'] #菜名
       food_ingredients = food.find('p',class_='ing ellipsis').text #食材
       food_href = 'https://www.xiachufang.com/'+ food.find('a')['href'] #链接
       foods_list.append([food_name,food_href,food_ingredients]) #把获取的数据添加到列表
       print('菜名:\t%s\n用料:\t%s链接:\t%s\n'%(food_name,food_ingredients,food_href)) #打印

(3)数据存储

存储为xlsx格式

#使用xlsx存储,需要导入openxlsx模块
wb = openpyxl.Workbook() #创建工作薄
sheet = wb.active #获取工作薄活动表
sheet.title = 'menu' #命名
headers = ['菜品','链接','用料'] #表头
sheet.append(headers)
for food in foods_list:
    sheet.append(food) #添加数据
wb.save('xiachufang.xlsx') #保存

以上就是用python获取实用菜谱的方法,希望能对大家有所帮助,更多知识尽在python学习网。

相关教程

  • Python如何处理大数据?3个技巧效率提升攻略(推荐)

    这篇文章主要介绍了Python如何处理大数据?3个技巧效率提升攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习

    发布时间:2019-06-03

  • MySQL数据库的shell脚本自动备份

    这篇文章主要介绍了MySQL数据库的shell脚本自动备份的相关资料,网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行。我们需要一种安全的,每天自动备份的方法需要的朋友可以参

    发布时间:2019-06-05

用户留言