爬取“本周最受欢迎”页面上菜谱的:菜名、所需材料、和菜名所对应的详情页URL。
1 #5、解密吴氏私厨 2 # 爬取“本周最受欢迎”页面上菜谱的:菜名、所需材料、和菜名所对应的详情页URL。 3 # URL http://www.xiachufang.com/explore/ 4 5 import requests 6 from bs4 import BeautifulSoup 7 res = requests.get('http://www.xiachufang.com/explore/') 8 html = res.text 9 soup = BeautifulSoup(html,'html.parser') 10 items = soup.find_all('div',class_='info pure-u') 11 for item in items: 12 print(item.find('a').text.strip(),end=' ') 13 print('http://www.xiachufang.com'+item.find('a')['href'],end=' ') 14 print(item.find('p',class_='ing ellipsis').text.strip()) 15 16 ''' 17 执行结果如下: 18 油焖春笋 http://www.xiachufang.com/recipe/102961438/ 春笋、植物油、生抽、老抽、白糖 19 青团 http://www.xiachufang.com/recipe/103713952/ 没有猪油可以用其他食用油代替,粘米粉就是大米粉,没有的话可以全部用糯米粉,但纯糯米粉会有点粘牙;、艾草泥版——、糯米粉、粘 20 米粉、猪油、糖粉、艾草泥、纯牛奶、艾草汁版——、糯米粉、粘米粉、猪油、糖粉、艾草汁、咸蛋黄肉松馅——、肉松、咸蛋黄、沙拉酱、150克咸蛋黄约12个,我是从生咸鸭蛋里剥出来的,烤熟后, 21 中间的硬心没要,多一点少一点都没关系;、没有艾草的可以用菠菜或者用麦苗,网上也有现成的麦青汁和艾草汁卖,甚至还有人用抹茶粉,哈哈…… 22 自制青团 http://www.xiachufang.com/recipe/1039614/ 糯米粉、绵白糖(可选)、温水(糯米粉用)、澄粉(小麦淀粉 生粉)、开水(澄粉用)、菠菜(叶)、熟猪油/食用油、红豆沙 23 不涩口又嫩的清炒菠菜 http://www.xiachufang.com/recipe/103714773/ 菠菜、大蒜头、盐 24 不回缩杯子蛋糕cupcake http://www.xiachufang.com/recipe/101814068/ 鸡蛋、细砂糖1(加蛋黄里)、牛奶、色拉油、低筋粉、细砂糖2(加蛋白里)、柠檬汁、玉米淀粉、大号裱花袋、耐高温 25 纸杯 26 可乐鸡翅的家常做法 http://www.xiachufang.com/recipe/103530090/ 鸡翅、可乐、姜、葱、生抽、盐、料酒、味极鲜酱油、花椒 27 烤箱版烤地瓜秘籍 http://www.xiachufang.com/recipe/103648879/ 红薯、盐 28 原味蛋糕卷(后蛋法) http://www.xiachufang.com/recipe/100634308/ 鸡蛋、牛奶、玉米油、白砂糖、低筋面粉、柠檬汁或白醋 29 榴莲千层(超软糯蛋皮配方٩( ᐛ )و http://www.xiachufang.com/recipe/101809919/ 鸡蛋、低筋面粉、玉米淀粉(或普通生粉)、糖粉、纯牛奶、黄油、筛网(必不可少)、不粘平底锅( 30 必不可少)、乳脂淡奶油(馅料)、榴莲肉(馅料)、细砂糖(加进奶油里) 31 土豆炖排骨 http://www.xiachufang.com/recipe/102229693/ 排骨、土豆、姜、蒜、葱、花椒、八角、香叶、生抽、料酒、冰糖、豆瓣酱、料酒、干辣椒 32 家常菜~蒜香秋葵 http://www.xiachufang.com/recipe/102970416/ 秋葵、盐、食用油、生抽、香醋、蒜瓣、葱花、白芝麻、小米辣、辣椒油、芝麻油、白糖 33 肉包子攻略(超详细视频) http://www.xiachufang.com/recipe/103730419/ 肉馅:、姜葱水、猪肉末、盐、葱末、蚝油、老抽、黑椒粉、包子皮250克粉面团方子:、牛奶、水、快速干酵 34 母、糖、中筋面粉、泡打粉(可不加)、油、300克粉面团方子:、牛奶、水、快速干酵母、糖、中筋面粉、泡打粉(可不加)、油 35 简单精致蛋挞液 http://www.xiachufang.com/recipe/103637489/ 蛋黄、淡奶油、牛奶、绵白糖、柠檬汁 36 香草牛奶面包(波兰种) http://www.xiachufang.com/recipe/103745311/ 波兰种:、高筋面粉、牛奶、酵母、主面团:、发酵好的波兰种、淡奶油、香草牛奶、高筋面粉、低筋面粉、全蛋液、全 37 脂奶粉、盐、酵母、细砂糖、黄油 38 有着面包口感的红糖馒头(一次发酵) http://www.xiachufang.com/recipe/102312837/ 红糖、热水、耐高糖酵母、普通面粉、鸡蛋 39 cookie http://www.xiachufang.com/recipe/103457908/ 无盐黄油、牛奶或奶粉兑牛奶、低筋面粉、砂糖、盐 40 蒜蓉金针菇烤虾(烤箱) http://www.xiachufang.com/recipe/102838487/ 金针菇、虾、香菜、姜(切碎),蒜蓉、辣椒、香菜、料酒、生抽、盐、椒盐、孜然粉、香油,麻油(可不加)、白糖 41 肉沫豆角 http://www.xiachufang.com/recipe/103285855/ 豆角、蒜瓣、猪肉、生抽、盐、糖、姜片、黄豆酱、食用油 42 最好吃的戚风——奶油奶酪戚风 http://www.xiachufang.com/recipe/100583807/ 奶油奶酪、牛奶、鸡蛋(60g大小)、糖(蛋黄用)、糖(蛋白用)、盐、色拉油、柠檬汁、低粉 43 超好吃的肉松面包 http://www.xiachufang.com/recipe/100641462/ 高筋面粉、耐高糖酵母、白糖、鸡蛋、牛奶、盐、黄油、馅料;、猪肉松、沙拉酱、芝麻(表面)、鸡蛋液(面包表面) 44 豆腐饼 http://www.xiachufang.com/recipe/102834007/ 豆腐、鸡蛋、胡萝卜、面粉、盐、虾皮(淡虾皮)、青菜、油 45 鸡蛋木耳炒莴笋 http://www.xiachufang.com/recipe/103571778/ 莴笋(去皮后)、木耳、鸡蛋、盐、花椒、白胡椒粉 46 不塌,不裂,很润,很嫩的纸杯蛋糕 http://www.xiachufang.com/recipe/103563943/ 鸡蛋、温水或者牛奶(30-40度)、油、低粉、糖、柠檬汁 47 南瓜吐司 http://www.xiachufang.com/recipe/100583699/ 高筋粉、糖、盐、酵母、奶粉、南瓜泥、全蛋、牛奶、黄油 48 萌萌胡萝卜馒头 http://www.xiachufang.com/recipe/103671145/ 白色面团:、牛奶、快速干酵母、糖、低筋面粉、高筋面粉、油、胡萝卜汁面团:、胡萝卜汁、快速干酵母、糖、低筋面粉、高筋 49 面粉、油、另外需要制作胡萝卜叶子部分需要一点抹茶粉 50 ''' 51 52 53 ''' 54 老师代码 55 56 import requests 57 # 引用requests库 58 from bs4 import BeautifulSoup 59 # 引用BeautifulSoup库 60 61 res_foods = requests.get('http://www.xiachufang.com/explore/') 62 # 获取数据 63 bs_foods = BeautifulSoup(res_foods.text,'html.parser') 64 # 解析数据 65 list_foods = bs_foods.find_all('div',class_='info pure-u') 66 # 查找最小父级标签 67 68 list_all = [] 69 # 创建一个空列表,用于存储信息 70 71 for food in list_foods: 72 73 tag_a = food.find('a') 74 # 提取第0个父级标签中的<a>标签 75 name = tag_a.text[17:-13] 76 # 菜名,使用[17:-13]切掉了多余的信息 77 URL = 'http://www.xiachufang.com'+tag_a['href'] 78 # 获取URL 79 tag_p = food.find('p',class_='ing ellipsis') 80 # 提取第0个父级标签中的<p>标签 81 ingredients = tag_p.text[1:-1] 82 # 食材,使用[1:-1]切掉了多余的信息 83 list_all.append([name,URL,ingredients]) 84 # 将菜名、URL、食材,封装为列表,添加进list_all 85 86 print(list_all) 87 # 打印 88 '''
items中每个Tag的内容如下
1 <div class="info pure-u"> 2 <p class="name"> 3 <a data-click-tracking-url="" data-expose-tracking-url="" href="/recipe/103746600/" target="_blank"> 4 黑芝麻开花馒头 5 </a> 6 <i class="step-icon ml5"></i> 7 </p> 8 <p class="ing ellipsis"> 9 <a href="/category/727/" target="_blank">中筋面粉</a>、<a href="/category/2068/" target="_blank">酵母</a>、<a 10 href="/category/394/" target="_blank">鸡蛋</a>、<a href="/category/2316/" target="_blank">牛奶</a>、<a 11 href="/category/2073/" target="_blank">白糖</a>、<a href="/category/1805/" target="_blank">盐</a>、<a 12 href="/category/2190/" target="_blank">猪 13 油</a>、<span>熟黑芝麻</span> 14 </p> 15 <p class="stats green-font">七天内 <span class="bold">31</span> 人做过</p> 16 <p class="author"> 17 <a class="gray-font" href="/cook/102543668/" target="_blank">冇伱灬冇我</a> 18 <a class="icon icon-cooker" href="/feature/cook/master/" target="_blank"></a> 19 </p> 20 </div>