用Python爬取图片,纯新手的练手项目

前言

自从学习编程以来,总是听别人说什么爬虫爬虫的,爬这爬那,我心想老是扒拉来扒拉去不累吗,有啥好爬的,又没啥子用,前两天无聊就想看看python爬取网站的图片到底是什么鬼,就从网上开始学习,从下载python到配置,从寻找喜欢的网站到爬的盆满钵满,现在我就来总结一下。

准备

1、下载一个python安装并配置环境变量,跟java差不多。

官网下载地址:https://www.python.org/downloads/windows/​ ​点击下载​​

下载installer的,然后安装直接下一步就好,也可以自行选择下载的位置,最后配置环境变量

配置环境变量,将python和Scripts都配置上

验证是否配置成功,cmd打开命令行,输入python -V,如图证明配置环境变量成功

2、脚本

# 导入必要的包
from selenium import webdriver
from bs4 import BeautifulSoup
import requests

# 打开谷歌浏览器
driver = webdriver.Chrome()
# 设置要爬取的网站
driver.get('http://pic.netbian.com/4kmeinv/')
# 初始化一个引用计数,用于后面的图片简单命名
index = 1

# 定义爬虫方法
def getImage():
    # 将index置为全局变量
    global index
    # 循环爬取,循环多少次爬取多少页的图片
    for i in range(0,50):
        # 模拟点击下一页,因为爬取完一页需要点击下一页爬取
        driver.find_element_by_link_text("下一页").click()
        # 解析网页
        html = BeautifulSoup(driver.page_source, 'html.parser')
        # 获取原图的url链接
        links =html.find('div', {'class': 'slist'}).find_all('img')
        # 遍历当页获得的所有原图链接
        for link in links:
            # 将原图存至当前目录下的jdimg 文件夹,以index命名,后缀名为图片原名的后三位,即jpg或者gif
            with open('baidu8/{}.{}'.format(index, link.get('src')[len(link.get('src'))-3: len(link.get('src'))]), 'wb') as jpg:
                jpg.write(requests.get("http://pic.netbian.com/" + link.get('src')).content)
            print("正在爬取第%s张图片" % index)
            index += 1
# 定义主函数
def main():

    getImage()

main()


我们用记事本将此脚本写入,然后修改后缀名为py,然后在同级目录下创建一个文件夹用来存储图片,代码里的文件夹必须提前创建好,不然运行报错找不到文件夹,如图

我这里的文件夹就是用来存储图片的,已经存的满满当当

运行脚本

我们cmd进入命令行例如我这里就进入到d盘的test文件夹下,如图

我们输入py baidu.py来运行我们的脚本,前提我们配置好了环境变量,所以可以在任意位置运行python脚本,最后效果如图

最新调整

最近由于很多同学反映下载的图片打不开,应该是有所更新,所有我重新调整了一次源码,现在源码如下。

# 导入必要的包
from selenium import webdriver
from bs4 import BeautifulSoup
import requests


# 打开谷歌浏览器
driver = webdriver.Chrome()
# 设置要爬取的网站
driver.get('http://pic.netbian.com/4kmeinv/')
# 初始化一个引用计数,用于后面的图片简单命名
index = 1


# 定义爬虫方法
def getImage():
    # 将index置为全局变量
    global index
    # 循环爬取,循环多少次爬取多少页的图片
    for i in range(0,50):
        # 模拟点击下一页,因为爬取完一页需要点击下一页爬取
        driver.find_element_by_link_text("下一页").click()
        # 解析网页
        html = BeautifulSoup(driver.page_source, 'html.parser')
        # 获取原图的url链接
        links =html.find('div', {'class': 'slist'}).find_all('img')
        # 遍历当页获得的所有原图链接
        for link in links:

            # 将原图存至当前目录下的baidu8文件夹,以index命名,后缀名为jpg
            with open('baidu8/{}.jpg'.format(index), 'wb') as jpg:
                jpg.write(requests.get("http://pic.netbian.com/" + link.get('src')).content)

            print("正在爬取第%s张图片" % index)
            index += 1
# 定义主函数
def main():

    getImage()

main()

总结

技术是把双刃剑,希望大家合理运用技术,下一次分享爬取小视频的内容,最后说一句,老铁早点睡啊。
 

Python经验分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
在这里插入图片描述

学习软件

Python常用的开发软件,会给大家节省很多时间。
在这里插入图片描述

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
在这里插入图片描述

100道练习题

在这里插入图片描述

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
在这里插入图片描述
最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值