1. 爬虫原理
  2. 爬虫需要遵守的规则
  3. 实际操作

 爬虫

其实通俗点来讲爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来,(切记是安全的数据,允许爬的范围内)

一.爬虫的原理

python爬取图片网页 python爬取网上图片_python

二.Python爬虫 爬虫需要遵守的规则

Robots-网络爬虫排除标准协议

Robots Exclusion Standard 网络爬虫排除标准

作用:网站告知爬虫哪些页面可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件

案例:京东的robots协议

https://www.jd.com/robots.txt

python爬取图片网页 python爬取网上图片_爬虫_02

Robosts协议的基本语法:
*代表所有
/代表根目录

其他网站的robots协议

python爬取图片网页 python爬取网上图片_python_03

robots协议的遵守方方式

网络爬虫:自动或人工识别robots.txt文件,再进行内容爬取
约束性:robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险

对robots协议的理解

爬取网页,玩转网页

访问量很小:可以遵守/访问量较大:建议遵守

爬取网页,爬取系列网站

非商业偶尔:建议遵守 /商业利益:必须遵守

爬取全网

必须遵守

 

三.爬取图片

1.环境要求

python编写代码工具:PyCharm 2021.2

python环境:python3.8 (小编这里用的是python3.8的环境)

2.导包

pip install aiohttp #这段可以下载程序所用到的包,

3.编写代码

1.这里需要用到三个图片的url,首先我们打开https://umei.cc/bizhitupian/dongtaibizhi/这个网址选择三张自己喜欢的图片,单击右键复制三张图片的url(这三张图片url具体放的位置,代码里会给出的) 

附上代码可供参考:

import asyncio
import aiohttp

urls = [
    "http://kr.shanghai-jiuxin.com/file/2021/0429/11a56f6cbc984b11c49c6cfe3f755adc.jpg",
    "http://kr.shanghai-jiuxin.com/file/2020/0608/750a0de2a8c658b16a6309a18cc56212.jpg",
    "http://kr.shanghai-jiuxin.com/file/2020/0608/df980505591cc79141141fc361e98e49.jpg"
#这块就是刚才复制的三张图片的url,自己想放多张也可以。
]


async def aiodownload(url):
    name = url.rsplit("/", 1)[1]   
    async with aiohttp.ClientSession() as seesion:
        async with seesion.get(url) as resp:
            with open(name, mode="wb") as f:
                f.write(await resp.content.read())
                await asyncio.sleep(1)

    print(name, "爬取完成")


async def main():
    tasks = []
    for url in urls:
        tasks.append(aiodownload(url))
    await asyncio.wait(tasks)


if __name__ == '__main__':

    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

4.效果展示:

python爬取图片网页 python爬取网上图片_程序人生_04

python爬取图片网页 python爬取网上图片_爬虫_05


文件运行完成后,图片在你建python文件的根目录里,文件的后缀是jpg。点开就能看到你爬下来的图片了

总结:

python爬虫要学的还有很多,让我们一起慢慢的摸索,相互的去探讨,一起学习,各位如果有好的爬取项目,评论下来我们一起学习