一.引进
这个时间我一直在学习Python。 以前就听说过Python爬虫有多厉害,正好学到现在,和小甲鱼Python视频一起写爬虫程序,实现了简单的网页图片下载。
二.代码
__author__='JentZhang '
import urllib.request
导入操作系统
导入随机
导入re
efURL_open(URL ) :
''''
打开网页
:param url:
:return:
''''
req=urllib.request.Request(url )
req.add_header('user-agent ',
' Mozilla/5.0(windowsnt10.0; WOW64 ) appleWebKit/537.36(khtml,like Gecko ) chrome/49.0.2623.75 safari/537.36 ' )
# APP应用程序代理
''''
proxyies=[ ' 111.155.116.23733608123 ',' 101.236.23.202:8866 ',' 122.114.31.177:808'] '
proxy=random.choice(proxyies ) )。
proxy _ support=urllib.request.proxy handler ({ ' http ' : proxy } ) )。
opener=urllib.request.build _ opener (proxy _ support ) )。
urllib.request.install _ opener (opener )
''''
response=urllib.request.urlopen (URL )
html=response.read (
返回html
efsave_img(folder,img_addrs ) :
''''
保存图像
:param folder:保存的文件夹
:param img_addrs:图像地址(列表)
:return:
''''
#创建保存图像的文件夹
ifnotOS.path.exists(folder ) :
操作系统. mkdir (folder )
操作系统. chdir (文件夹) )。
for each in img_addrs:
filename=each.split('/' ) [-1]
try:
withopen(filename,' wb ' ) as f:
img=URL _ open (http : (each ) ) )。
f .写入(img ) )。
except urllib.error.httperrorase :
#打印(e.reason ) )。
传球
打印(完成! )。 )
deffind_imgs(URL ) :
''''
获取所有图像链接
:param url:连接地址
:return:图像地址列表
''''
) ) ) )。
img_addrs=re.findall(r'src='? (gif )、html ) )
return img_addrs
defget_page(URL ) :
''''
现在一共获得了多少页图像
33660 param URL :网址
:return:
''''
) ) ) )。
a=html.find (当前注释页) ) 23
b=html.find (),a ) )。
return html[a:b]
ef download _ mm (URL=' http://jandan.net/ooxx/',folder='OOXX ',pages=1) :
''''
主程序(图像下载) )。
:param folder:默认存储的文件夹
:param pages:下载页数
:return:
''''
page_num=int(get_page(URL ) )
forIinrange(Pages ) :
page_num -=i
page _ URL=URL ' page-' str (page _ num ) ' #comments '
img_addrs=find_imgs(page_url )
(ave_img(Folder,img_addrs ) ) ) ) ) ) ) ) ) ) )。
if __name__=='__main__':
download_mm (
三.总结
因为用代码访问的网站已经使用了反爬虫的算法。 所以不能再登上想要的图像啦,so了,所以请当成做了爬虫类的笔记吧。 [遮住脸]作为学习的参考。
最后:我可以把jpg格式变成gif,爬上可怜的gif图:
第一ssdcg是反爬虫机制的图像占位符,没有任何内容