你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
你的代码中:
i.get('src')得到的J 标签中'src'的属性值,我刚才看了一下,并不是每个i表示的标签里的src属性值都是可用的,以下是我按你的代码,得到的每个i.get('src')的值:
从图片中可以看到,只有一部分的字芹渣裂符串是图片链接,也就是说并不是每个标签中的src属性的值都是图片链接,所以如果你想要不报错,需要把i.get('src')进行一下判断,如果是真正的图片链接才下载,否则跳过,这样就不会报错了
*.图片要是看不清的话,不要点开大图,然后右键复制图片链接地址,放到地址栏中打开就可看高清图了
下面是我根据你的代码改过的,你可嫌闭以试一下,有问题追问:
------------------------End------------------------
import requests
from bs4 import BeautifulSoup
import urllib.request
import re
def GetImg():
response = requests.get('http://desk.zol.com.cn/bizhi/8376_103851_2.html')
html = response.text
soup = BeautifulSoup(html, 'html.parser')
picture = soup.find_all('img')
list = []
for i in picture:
img1 = i.get('src')
links = re.findall(re.compile('http.*.jpg$'),str(img1))
if len(links) != 0:
list.append(img1)
for i in range(len(list)):
urllib.request.urlretrieve(list[i],'%d.jpg'%i)
print("已下载%d/%d张梁唯图片"%(i,len(list)))
GetImg()
------------------------End------------------------
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)