from bs4 import BeautifulSoup
import requests
headers ={
'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Cookie':'__cfduid=dcb472bad94316522ad55151de6879acc1479632720; locale=en; _ga=GA1.2.1575445427.1479632759; _gat=1; _hjIncludedInSample=1',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
}
url_path = 'https://www.pexels.com/search/'
content = input('请输入你要下载的图片:')
url = url_path + content + '/'
wb_data = requests.get(url,headers=headers)
soup = BeautifulSoup(wb_data.text,'html.parser')
imgs = soup.select('a > img')
list = []
for img in imgs:
photo = img.get('src')
list.append(photo)
path = 'C:\\Users\Jerry\Desktop\photo'
i = 1
for item in list:
if item==None:
pass
elif '?' in item:
data = requests.get(item,headers=headers)
fp = open(path + content + str(i) + '.jpeg','wb')
fp.write(data.content)
fp.close
i = i + 1
else:
data = requests.get(item, headers=headers)
fp = open(path + item[-10:], 'wb')
fp.write(data.content)
fp.close()
path = 'C:\Users\Desktop\photo'
在代码中写这个得到的结果总是:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
上网查了别人的回到会明白了合适 \ u 的转义的问题,所以找不到这个路径,只需要在前面加上 \
就可以了,改写为:path = 'C:\\Users\Desktop\photo'
https://www.pexels.com/search/
这个网页的静态html只会显示数张图片,后面的使用上了动态js,就需要转换思路。