Python爬虫实战-使用代理IP批量下载图片(附上完整源码)
先看最终效果:
使用代理IP爬取,实现批量下载关键词图片并存放到指定文件夹
8个步骤,就能批量获取小姐姐照片,这…这也太棒了!
话不多说,直接上方法。
步骤一 准备相关工具
Python:3.10
编辑器:PyCharm
第三方模块,自行安装:
步骤二 获取代理IP
网上关于代理IP的网站有很多,找一个能免费测试的代理IP服务商,试试好不好用再说。这里我选择的是才上线的代理IP供应商【一连代理】,它们涵盖直连代理和隧道代理服务,覆盖HTTP、HTTPS、SOCKS5三种代理协议,现在直连和隧道代理都能免费使用。
步骤三 Python获取代理IP
这次爬取,我选择的隧道代理IP
领取成功后点击「控制台」—「产品管理」-「隧道代理」-「控制台」—「查看」
我们用Python获取代理IP,注意将代码中的账号、密码、地址、端口替换为账号信息:
步骤四 导入模块
步骤五 设置翻页
首先我们来分析一下网站的翻页,一共有62页:
1.第一页链接
2.第二页链接
3.第三页链接
可以看出每页只有index后面从第二页开始依次加上页码,所以用循环来构造所有网页链接:
if name == ‘main’:
# 页码
page\_number = 1
# 循环构建每页的链接
for i in range(1,page\_number+1):
# 第一页固定,后面页数拼接
if i ==1:
url = '[pic.netbian.com/4kmeinv/ind…](https://link.juejin.cn/?target=https%3A%2F%2Fpic.netbian.com%2F4kmeinv%2Findex.html "https://pic.netbian.com/4kmeinv/index.html")'
else:
url = f'[pic.netbian.com/4kmeinv/ind…](https://link.juejin.cn/?target=https%3A%2F%2Fpic.netbian.com%2F4kmeinv%2Findex_%257Bi%257D.html "https://pic.netbian.com/4kmeinv/index_%7Bi%7D.html")'
步骤六 获取图片链接
1.可以看到所有图片URL都在UI标签>a标签》img标签下:
2.我们创建一个get_imgurl_list(url)函数传入网页连接获取网页源码,用xpath定位到每个图片的链接:
3.运行结果:
4.点开一个图片链接看看:
完美!接着往下看!
步骤七 下载图片
图片链接有了,代理IP也有了,下面我们就可以下载图片。定义一个get_down_img(img_url_list)函数,传入图片链接列表,然后遍历列表,每下载一个图片切换一次代理,将所有图片下载到指定文件夹:
步骤八 调用主函数
这里我们可以设置需要爬取的页码:
注意将get_ip()函数代码中的账号、密码、地址 、端口替换为刚才客服给的账号信息
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料
1??零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2??国内外Python书籍、文档
① 文档和书籍资料
3??Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4??Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ?? ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!