python 图片抓取
写个爬虫,抓点百度图片。本程序基于python3编写,可根据关键词抓取百度图片
下载的图片:
代码:
import json
import os
import random
import time
import re
import easygui
from urllib import request, parse# 图片保存路径
PATH = '图片/百度/'
os.makedirs(PATH, exist_ok=True)# 获取每页数据
def get_page_data(keyword, page=1, charset='utf-8'):pn = page * 30 # 每页图片数gsm = hex(pn) # 每页图片数16进制表示keyword = parse.quote(keyword) # 关键词url转码url = 'http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=' + keyword + '&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&word=' + keyword + '&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=&fr=&pn=' + str(pn) + '&rn=30&gsm=' + str(gsm)req = request.Request(url)req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36')return request.urlopen(req).read().decode(charset)# 搜索图片
def search(keyword, pages=1):for page in range(1, pages + 1):page_data = ''try:page_data = get_page_data(keyword, page)except Exception as e:print(e)if not page_data:continueobj = json.loads(page_data) # 将数据转换为json对象images = obj['data'] # 获取图片列表for image in images:if image:src = image['thumbURL'] # 图片地址suffix = src[src.rfind('.'):] # 图片后缀title = re.sub('\W+', '', image['fromPageTitleEnc']) # 图片标题image_path = PATH + title + str(int(time.time())) + str(random.randint(10000, 99999)) + suffix # 文件名req = request.Request(src)req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36')req.add_header('Referer', 'http://image.baidu.com/i?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&word=%E4%BA%A4%E9%80%9A&ie=utf-8')try:image_data = request.urlopen(req).read()f = open(image_path, 'wb')f.write(image_data)f.close()print(src + ' 下载完成')except Exception as e:print(e)__keyword, __pages = easygui.multenterbox('请输入搜索信息', '图片下载器', ['关键词', '下载页数'])
search(__keyword, int(__pages))
注:图形框需要安装easygui
顺便用pyinstaller编译个exe程序,源码及exe压缩包下载地址:http://download.csdn.net/detail/u013314786/9721220
python 图片抓取相关推荐
- Python图片抓取实操
爬取效果如下(别问我为什么被分成了两张还有去不掉的水印,不然网站怎么赚钱): 爬取链接为(千图网的图片,顺便吐槽一下,这个有些图片是分两半的!!!): https://www.58pic.com/pi ...
- python学习-抓取知乎图片
python学习-抓取知乎图片 #!/bin/usr/env python3__author__ = 'nxz'""" 抓取知乎图片 webdriver Chromedr ...
- Python爬虫之gif图片抓取
Python爬虫之gif图片抓取 标签:图片爬虫 这几天,对于怎么去爬取图片很感兴趣,就研究了一下,图片爬虫可以说是有简单,更有复杂的,今天,我做了一个比较简单的gif的图片爬虫,仅仅学习一下怎么进行 ...
- python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片
成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...
- python爬虫招聘-Python爬虫抓取智联招聘(基础版)
原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...
- Python_百度图片以及百度贴吧图片抓取
一.百度图片抓取 百度图片抓取存在两个难点: (1)没有翻页功能,只有下拉不断get新的img,这个暂时没有解决,据说可以通过selenium模块来模拟浏览器动作进行,暂未入手,只能抓取最开始get到 ...
- 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- python爬虫-抓取acg12动漫壁纸排行设置为桌面壁纸
ACG-wallpaper 初学python,之前想抓取P站的一些图片来着,然后发现acg12这里有专门的壁纸榜单,就写了个抓取壁纸作为mac桌面壁纸玩玩. 功能:抓取acg12壁纸榜单的动漫壁纸,并 ...
最新文章
- 内存泄漏检测工具VLD在VS2010中的使用举例
- 使用Intellj Idea打开选中文件/文件夹
- 动作识别最新高效利器 ACTION-Net:通用的多路径激活模块 | CVPR 2021
- python导入py文件-关于python:如何从另一个目录导入.py文件?
- 永远不会执行的cron表达式
- python传递参数给sql_python-如何在SQLAlchemy Core中将列名作为参数传递?
- C# lambda表达式与匿名方法
- 【渝粤教育】国家开放大学2018年秋季 1087t数学分析专题研究 参考试题
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
- 如何为报表服务器设置SQL Server数据库复制
- 时序分析基本概念介绍——STA概述
- 红外反射传感器实验-传感器原理及应用实验
- Win10点击声音图标打不开音量调节的解决方法
- 【NOI Online】 2021普及
- 获取所有权_住房所有权经济学深入研究
- MapReducer的map和reducer的几种写法模板以及自定义数据类型
- 西南交大计算机应用基础离线作业答案,西南交大计算机应用基础1-5作业答案.doc...
- 23种常见设计模式详解
- 如何平衡新老策略的好与坏,一道常见风控送命题解答
- Shell 掐头去尾法