Python图片抓取自动机

菜鸡小白的摸鱼日记——Python图片抓取自动机

今天心血来潮开始学习Python网络爬虫(其实是因为本期要完成的一门专业课的大作业需要用爬虫,然而作为CS相关专业的一枚小白,学校里竟然从来没开过Python编程,emmmm也是很迷醉),挺有趣,趁机给博客开个张(微笑.jpg)。那就从零开始叭QAQ!
在学习了相关基本知识后,打算写一个简单的图片抓取程序(^-^)即:输入图片关键词,根据指定的URL自动爬取相应图片并在本地创建一个文件夹将图片存入其中。
话不多说,先上代码!

import re
import requests 
import os
word=input('Input the key words:')
'输入目标图片的关键字'
url = 'http://image.baidu.com/search/index?tn=baiduimage&ie=utf-8&hs=2&sid=&word='+word+'&ct'
'指定URL'
data = requests.get(url).text
pic_url=re.findall('"objURL":"(.*?)",',data,re.S)

n=1
'参数n记录图片编号'
for each in pic_url:
    print(each)
    try:                                    #捕获异常
        pic=requests.get(each,timeout=10)
    except:                                 #超过10s未响应则打印异常信息
        print('Faild')
        continue

    path = 'D:\\'+word+''
'指定目录建在本地D盘'
    if not os.path.exists(path):    
        os.makedirs(path,777)
'判断是否已经存在相应的文件夹'
'因为整个爬取过程是以循环方式进行的,而目录创建语句又在循环体之内,这一步很重要'
    string=''+path+'\\'+str(n)+'.jpg'
'文件命名'
    fp=open(string,'wb')
    fp.write(pic.content)
    fp.close()
    n+=1

整个过程挺简单,重要语句解释已经在注释中说清楚了,下面展示运行抓取效果@-@
运行程序,输入关键字“火锅”,控制台涌现一堆URL

D盘根目录下已经自动创建名为“火锅”的文件夹

点击进入,看见一堆美味QAQ

作为一个火锅粉儿,我忍不住啦~
口水emmmm


忍住!转回正经的,整理几个基础知识:
1.网络爬虫的概念:又被称作网络蜘蛛、网络机器人,可以按照指定的规则(算法)自动浏览或抓取网络中的信息。
2.网络爬虫的分类:通常可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等
直接上自己的笔记截图
爬虫分类
3.网络爬虫的常见技术:在HTTP网络请求常见的三种方式——urllib,urllib3,requests
这里着重介绍程序中用到的requests:Python中实现HTTP请求的一种方式,是第三方模块,实现HTTP请求往往比urllib模块更方便,操作更加人性化。使用时,需要先通过执行 pip install requests代码安装。重要功能特性如下:

  • Keep-Alive&连接池
  • 国际化域名和URL
  • Unicode响应体
  • HTTP(S)代理支持
  • 流下载
  • 分块请求
  • 内容自动解码
  • 基本/摘要式身份认证
    ......(还有很多,努力学习再一一体会:D)

今天算是迈出了Python爬虫学习的第一步,也是第一次以这样的方式记录自己的学习,算是一个成长日记吧^^
还需要学习学习多写码~

Reference:

https://www.runoob.com/python/os-file-methods.html

https://www.jianshu.com/p/9ddb2f89ec7c

https://www.jianshu.com/p/19c846daccb3

全部评论
棒棒的!!!
点赞
送花
回复
分享
发布于 2020-03-28 18:11

相关推荐

2 1 评论
分享
牛客网
牛客企业服务