介绍
这期内容当中小编将会给大家带来有关怎么在python3中利用推荐人实现图片防盗链,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
python的五大特点是什么
python的五大特点:1。简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2。面向对象,与其他主要的语言如c++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。3。可移植性,Python程序无需修改就可以在各种平台上运行。4。解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5。开源,Python是牙线(自由/开放源码软件)之一。
推荐人防盗链技术:
推荐人防盗链技术是服务器通过检查客户端提起的请求包内的引用页字段来阻止图片下载的,如果推荐人字段错误,服务器会跳到另一个地址,这将导致错误的图片下载。
上面已经了解到了推荐人防盗链技术、下面直接上代码。
(我用的是python3,需要用到请求,html非系统包
下载方法:用Python中的脉冲下载即可)
import urllib.request import requests import time import os import shutil 得到lxml import  html def getPage (): & # 39;才能& # 39;& # 39;& # 39;& # 39;, 从才能网站首页获取妹子的网址, & # 39;才能& # 39;& # 39;, 耐火的=才能打开(& # 39;res.txt& # 39;, & # 39; w # 39;), htm才能=urllib.request.urlopen (& # 39; http://www.mzitu.com/& # 39;), 了才能=htm.read (), ,,=html.fromstring (), url=[],才能 for 才能;res 拷贝out.xpath (& # 39;//ul李[@ id=皃ins"]///@href& # 39;):, ,,,urls.append (res), for 才能;r url:拷贝, ,,,fres.write (r), ,,,fres.write (& # 39; \ n \ " # 39;), fres.close才能(), return 才能;urls def getPiclink (url): & # 39;才能& # 39;& # 39;& # 39;& # 39;, 获才能取一个妹子的标题和她的所有图片地址, & # 39;才能& # 39;& # 39;, i_headers才能={& # 39;用户代理# 39;:& # 39;Mozilla/5.0, (Windows NT 10.0;, Win64;, x64;,房车:55.0),壁虎/20100101,Firefox/55.0 & # 39;}, 选取才能=urllib.request.Request (url,标题=i_headers), #才能使用代理浏览器访问网站, sel.add_header才能(& # 39;推荐人# 39;,,& # 39;http://www.mzitu.com/& # 39;), #才能将推荐人字段添加到请求包里, 选取才能=urllib.request.urlopen (sel) .read (), 选取才能=html.fromstring(选取), 总=才能sel.xpath (& # 39;//div [@class=皃agenavi"]/去年()[1]/跨度/text () & # 39;) [0], title=才能sel.xpath (& # 39;//h3 (@class=癿ain-title")/text () & # 39;) [0], jpglist=[],才能 for 才能小姐:范围(int(总)):拷贝, ,,,链接=& # 39;{}/{}& # 39;.format (url,,我+ 1), ,,,s=html.fromstring (urllib.request.urlopen(链接).read ()), ,,,jpg=s.xpath (& # 39;//div [@class=癿ain-image"]/p/a/img/@src& # 39;) [0], ,,,jpglist.append (jpg), return 标题,才能jpglist def downloadJpg(标题、piclist链接):, & # 39;才能& # 39;& # 39;& # 39;& # 39;, 下才能载getPiclink()获取到的妹子的图片, & # 39;才能& # 39;& # 39;, k=1,才能 数=才能len (piclist), 目录名才能=u" [% sP] % s", % (str(计数)、标题), if 才能os.path.exists(目录名):, ,,,shutil.rmtree(目录名), os.mkdir才能(目录名), i_header才能={}, i_header才能[& # 39;推荐人# 39;]=link #才能将getPiclink()获取到的妹子的首页网址作为推荐人字段的值, for 才能小姐:piclist:拷贝, ,,,文件名=& # 39;% s/% s/% s.jpg& # 39;, % (os.path.abspath(& # 39; # 39;公司),目录名,,k), ,,,with 开放(文件名,& # 39;wb # 39;), as jpg:, ,,,,,jpg.write (requests.get(我,头=i_header) .content), ,,,#将推荐人字段添加到请求包里并下载图片, ,,,,,time . sleep (0.5), ,,,k +=1, if __name__==& # 39; __main__ # 39;:, for 才能;link 拷贝getPage ():, ,,,标题,图片=getPiclink(链接), ,,,downloadJpg(标题、图片链接), 打印才能(& # 39;好的! & # 39;)
上述就是小编为大家分享的怎么在python3中利用推荐人实现图片防盗链了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。