本文最后更新于 2024年2月14日 上午
上一份python代码,大家测评一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 import requestsimport refrom urllib import parseimport osclass BaiduImageSpider (object ): def __init__ (self ): self.url = 'https://image.baidu.com/search/flip?tn=baiduimage&word={}' self.headers = {'User-Agent' :'Mozilla/4.0' } def get_image (self,url,word ): res= requests.get(url,headers=self.headers) res.encoding="utf-8" html=res.text print (html) pattern = re.compile ('"hoverURL":"(.*?)"' ,re.S) img_link_list = pattern.findall(html) print (img_link_list) directory = 'C:/Users/User/Desktop/image/{}/' .format (word) if not os.path.exists(directory): os.makedirs(directory) i = 1 for img_link in img_link_list: filename = '{}{}_{}.jpg' .format (directory, word, i) self.save_image(img_link,filename) i += 1 def save_image (self,img_link,filename ): html = requests.get(url=img_link,headers=self.headers).content with open (filename,'wb' ) as f: f.write(html) print (filename,'下载成功' ) def run (self ): word = input ("您的照片搜索词?" ) word_parse = parse.quote(word) url = self.url.format (word_parse) self.get_image(url,word)if __name__ == '__main__' : spider = BaiduImageSpider() spider.run()
注意:第28行的下载地址一定要修改成自己的地址,否则无法下载图片! 按照提示来输入就可以,输出一长串网址属正常现象。希望大佬们可以在评论区指点指点😊! (评论时,可能会显示disqus加载失败,请开启VPN或代理重试)
(希望大佬们也能够指点一下如何不开代理或VPN使用disqus,我用的是hexo)