Python爬虫实现抓取百度关键词图片

  • 内容
  • 相关

制作爬虫的步骤

制作一个爬虫一般分以下几个步骤:

  • 分析需求
  • 分析网页源代码,配合开发者工具
  • 编写正则表达式或者XPath表达式
  • 正式编写 python 爬虫代码

环境要求:

1.Python3及以上环境

2.需要安装requests组件

PS:如果执行Python脚本出现

import requests  ModuleNotFoundError: No module named ‘requests’

需要安装执行

pip install requests

如果安装了python多版本共存需要先确定电脑默认使用的是否python3如果不是需要设置python3为软链接

先备份/usr/bin/python文件然后将python3设置软链接

[[email protected] src]# python -V

[[email protected] src]# mv /usr/bin/python /usr/bin/python.bak

[[email protected] src]#ln -s /usr/bin/python3 /usr/bin/python

实现效果:

20190324120619.png

存放图片的文件夹:

上级目录的images文件夹下:

20190324121048.png

编写正则表达式

pic_url = re.findall('"objURL":"(.*?)",',html,re.S)

关键代码:

# -*- coding:utf-8 -*-
import re
import requests

def dowmloadPic(html, keyword):
    pic_url = re.findall('"objURL":"(.*?)",', html, re.S)
    i = 1
    print('找到关键词:' + keyword + '的图片,现在开始下载图片...')
    for each in pic_url:
        print('正在下载第' + str(i) + '张图片,图片地址:' + str(each))
        try:
            pic = requests.get(each, timeout=10)
        except requests.exceptions.ConnectionError:
            print('【错误】当前图片无法下载')
            continue

        dir = '../images/' + keyword + '_' + str(i) + '.jpg'
        fp = open(dir, 'wb')
        fp.write(pic.content)
        fp.close()
        i += 1

if __name__ == '__main__':
    word = input("Input key word: ")
    url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&ct=201326592&v=flip'
    result = requests.get(url)
    dowmloadPic(result.text, word)

PS:抓取的图片会保存在上级目录下的imges目录下。

本文标签:

版权声明:若无特殊注明,本文皆为《小丑》原创,转载请保留文章出处。

本文链接:Python爬虫实现抓取百度关键词图片 - http://www.baidu360.org/wssb/11.html

百度收录:[百度已收录]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

未显示?请点击刷新

允许邮件通知