python 函数返回多个值问题??求教
def manhua(html:str):rr =requests.get(html,headers=headers)
rr.encoding="utf-8"
duo=[]
manhua=BeautifulSoup(rr.text,'html.parser')
dizhi=manhua.find('ol',class_="links-of-books num_div")
for a in dizhi.find_all('li',class_='sort_div'):
duo["dizhi"]=('https://www.manhuadb.com'+str(a.find('a').get('href')))
return duo["dizhi"]
上述函数 dizhi.find_all 返回三个网址
然后我用以下函数套用这个函数所获得的网址,并摘取里面的图片。
发现duo这个函数返回的值只有一个能抓到图片 后面两个并没有自动抓取。
请问如何返回三个以上函数值?
def download(url2:str,page:int):
r4 = requests.get(url2+'.html',headers=headers)
r4.encoding="utf-8"
dj = BeautifulSoup(r4.text,'lxml')
name = dj.find('h1',class_='h2 text-center mt-3 ccdiv-m').getText()
mkdir(name)
for x in range(1,page):
try:
r3 = requests.get(url2+'p'+str(x)+'.html',headers=headers)
r3.encoding="utf-8"
dl = BeautifulSoup(r3.text,'lxml')
page = dl.find('li',class_="breadcrumb-item active").getText()
reponse=dl.find('img',class_="img-fluid show-pic").get('src')
image=requests.get(reponse,headers=headers)
time.sleep(0.1)
filename='{}/{}/{}'.format('yiteng',name,name+str(x)+'.jpg')
with open(filename,'wb') as fpp:
fpp.write(image.content)
print('成功第{}图片'.format(str(x)))
except:
pass
print('全部保存成功!')
def manhua(html:str):
rr =requests.get(html,headers=headers)
rr.encoding="utf-8"
duo=[]
manhua=BeautifulSoup(rr.text,'html.parser')
dizhi=manhua.find('ol',class_="links-of-books num_div")
for a in dizhi.find_all('li',class_='sort_div'):
duo.append=('https://www.manhuadb.com'+str(a.find('a').get('href')))
return duo
返回成数字 pzx521521 发表于 2020-4-27 09:32
def manhua(html:str):
rr =requests.get(html,headers=headers)
rr.enco ...
返回数字 和字符串 有什么区别啊,为什么直接返回列表 我用
print(duo)是可以显示出三个网址的,就是抓取的时候就抓取第一个 虽然不懂python 但是返回值不用局限于返回 你可以传参进去然后在函数体内部修改参数 外部不也就修改了吗? 小白来来看看 以逗号分隔可以返回一个list 如return 1, 2, 3外部调用后应该得到的是一个list
或者也可以直接返回一个list类型的数组
你这个只返回一个是因为你for里面赋值都覆盖了... 最好给完整代码,看你这代码不知道你调用是否有问题。看起来只是传入一个网址
页:
[1]