话不多说,先给各位老饕餮们上菜品鉴品鉴
正菜上了,接下来就是菜的制作过程了,在本文里,我把这道菜分成几个步骤讲解,下面搞起:
第一步:处理厨具
食材选择完毕之后做菜前要先把厨具处理一下,不然有的菜可能会抗拒我们的厨具
url = 'https://www.ku66.net/'
head = {
'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
}
m = requests.get(url, head).content.decode("gbk")
r = re.compile(r'<img src="(.+?)" width')
purl = r.findall(m)
print(purl)
print(len(purl))
第二步:清洗食材
厨具处理完毕,在正式做菜之前我们要清洗我们的食材,不然轻则味道一言难尽,重则bug迭出。
def imgurl(i):
m = requests.get(url, head).content.decode("gbk")
r = re.compile(r'<img src="(.+?)" width')
purl = r.findall(m)
print(purl)
return purl
清洗食材之前先用requests.get这个厨房工具拿取食材,保证食材的完好,然后根据不同的食材选定不同的编码清洗方式,有的食材要gbk方式,有的要utf-8方式,测试一下就行。
正式清洗食材我们要先在整个食材里知道哪些是我们能吃的,哪些是不能吃的,一般我们能吃的都是在<img src=
标签里的,可能不同的食材长相略有不同,但大框架一定都是这个,然后我们只需要选取这里面的src="*(.+?)"
这一段,这里的(.+?)
就是我们最后要的食材的精华部分,其余的糟粕都可以去掉了。
第三步:制作起锅
食材清洗完毕就要开始制作我们的菜肴了,制作之前,我们先把放菜的碟子选定,如果没有的话就从碗橱里拿一个
save_path = '../photo'
folder = os.path.exists(save_path)
if not folder:
os.makedirs(save_path)
OK,一切准备就绪,开始制作菜肴
img = urllib.request.urlopen(jurl[rn]).read()
没错,我们这道菜的制作过程异常简单,只需要一步就能完成,制作完成之后起锅
with open(save_path + '/' + str(rn + 1) + '.jpg', 'wb') as f:
f.write(img)
print('开始下载 - - ->', rn + 1)
这里wb是指定二进制形式,如果使用别的模式的话大部分食材都不适应。
到这里整道菜的制作过程就讲完了,接下来就是给大家展示完整的制作方法了,话不多说,上菜:
import os
import urllib
import requests
import re
# 获取url
url = 'https://www.ku66.net/'
head = {
'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
}
def imgurl(i):
m = requests.get(url, head).content.decode("gbk")
r = re.compile(r'<img src="(.+?)" width')
purl = r.findall(m)
print(purl)
return purl
def getjpg(jurl, rn):
save_path = '../photo'
folder = os.path.exists(save_path)
if not folder:
os.makedirs(save_path)
img = urllib.request.urlopen(jurl[rn]).read()
with open(save_path + '/' + str(rn + 1) + '.jpg', 'wb') as f:
f.write(img)
print('开始下载 - - ->', rn + 1)
gurl = imgurl(url)
for n in range(len(gurl)):
getjpg(gurl, n)
print('下载结束')
如果大家喜欢这道菜的话,记得点赞收藏,有问题可以评论区问我,拜拜