#!/usr/bin/python

# -*- coding:utf-8 -*-

import httplib2

import urllib.request

import json

#import urllib2

import re

import os

import string

class BaiduImage(object):

def __init__(self):

super(BaiduImage, self).__init__()

print

u'图片获取中,CTRL+C 退出程序...'

self.page = 60 # 当前页数

if not os.path.exists(r'./image'):

os.mkdir(r'./image')

def request(self):

try:

urlError=""

while 1:

conn = httplib2.Http()

request_url = 'http://image.baidu.com/search/avatarjson?tn=resultjsonavatarnew&ie=utf-8&word=风景&cg=girl&rn=60&pn=' + str(

self.page)

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',

'Content-type': 'test/html'}

# body = urllib.urlencode({'tn':'resultjsonavatarnew','ie':'utf-8','word':'%E7%BE%8E%E5%A5%B3','cg':'girl','pn':self.page,'rn':'60'})

# conn.request( request_url,'GET', body=None, headers=headers)

resp,content = conn.request(request_url,'GET', body=None, headers=headers)

# print r.status

if resp.status == 200:

data =content

#data =unicode(data, errors='ignore')

d= data.decode("UTF-8")

decode = json.loads(d)

urlError=decode

self.download(decode['imgs'])

self.page += 60

print(self.page)

except Exception as e:

print (e+urlError)

finally:

print(conn)

def download(self, data):

imgCount=0

for d in data:

# url = d['thumbURL'] 缩略图 尺寸200

# url = d['hoverURL'] 尺寸360

try:

url = d['objURL']

print(url)

data = urllib.request.urlopen(url).read()

pattern = re.compile(r'.*/(.*?)\.jpg', re.S)

item = re.findall(pattern, url)

if item is None:

continue

if ".jpg" in url:

FileName = str('image/') + item[0] + str('.jpg')

if f.__exit__(FileName):

with open(FileName, 'wb') as f:

f.write(data)

else:

print(FileName+"存在!")

except Exception as e:

print(e)

finally:

imgCount+=1

print(imgCount.__str__() +":"+url)

if __name__ == '__main__':

bi = BaiduImage()

bi.request()

python爬取图片源码_python抓取百度图片源码相关推荐

  1. python爬虫教程,带你抓取百度的高清摄影图片

    python爬虫教程,带你抓取百度的高清摄影图片 源码分享: ''' 在学习过程中有什么不懂得可以加我的 python学习交流扣扣qun,934109170 群里有不错的学习教程.开发工具与电子书籍. ...

  2. python爬取图片源码_半次元图片爬取-python爬取半次元图片源码下载-西西软件下载...

    python爬取半次元图片源码,由大神自制的python爬取工具,本源码针对半次元图片平台,可以爬取最新的网站图片资源,支持自定义保存目录,非常方便,需要requests库的支持,想要相关源码资源的朋 ...

  3. python类百度百科_Python抓取百度百科数据

    抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据.本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介. 分析目标:分析要抓取的url的格式,限定抓取范围.分析要抓 ...

  4. python爬去百度音乐_Python抓取百度音乐。

    今天挑战下百度音乐抓取,先用Chrome分析下请求的链接. 最关键的就是这个链接 http://play.baidu.com/data/music/songlink 请求这个带上songid就能返回给 ...

  5. python大众点评霸王餐_python抓取大众点评商户信息

    数据说明: 本次爬取大众点评共8个字段信息,包括: 商户名字, 口味评分, 环境评分,服务评分,人均价格,评论数量,地址,商户星级 然后把数据存入excel表格 一 .首页部分 我们可以看到有很多分类 ...

  6. python下载图片怎么保存_Python抓取站酷作品图片并保存至本地

    思路 1.通过 requests 模块请求网页,获取到网页的源码,其中包含了作品集的 URL 2.通过 BeautifulSoup 提取到作品集的 URL ,返回为列表,使用 for 循环遍历作品集 ...

  7. python玩王者荣耀皮肤_python 抓取王者荣耀皮肤 代码2年了 依旧可以抓取高清 王者皮肤...

    #!/usr/bin/env python #-*- coding: utf-8 -*- """抓取王者荣耀皮肤""" importrequ ...

  8. python 公众号文章发布_Python 抓取微信公众号文章

    版权声明:此文章转载自 Yushneng PyHub 如需转载请联系听云College团队成员阮小乙,邮箱:ruanqy#tingyun.com 微信公众号的文章链接有些是具有时效性的,过一段时间会变 ...

  9. python保存图片到指定路径_python 抓取页面数据,并保存图片文本到指定目录文件夹...

    这个爬虫主要利用scrapy+beautifulsoup完成,其中图片保存碰到了一个大坑,花了一天的时间才解决. 大坑就是:在抓取文章页指定区域所有图片的时候,刚好那块区域的图片所有页面都一样,导致图 ...

最新文章

  1. 在leangoo里列表一般怎么设置?
  2. Android常用逆向工具总结(未完待续)
  3. 下一个汽车万亿市场打开!氢能源时代正到来
  4. bootrom启动流程【转】
  5. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...
  6. Spring系列(十一):@Profile 注解用法介绍
  7. Xcode4.5编译ffmpeg成功,过程说明
  8. 系统架构性能优化思路
  9. 求解算术表达式结合二叉树的后缀表达式问题
  10. java中的final关键字(2013-10-11-163 写的日志迁移
  11. hadoop deployment
  12. 万能模拟器eve-ng介绍
  13. php采集规则编写,织梦dedecms图片采集规则的编写方法
  14. html 中 鼠标滑轮实现横向滚动
  15. 【linux内核分析与应用-陈莉君】物理内存分配与回收机制下
  16. 三个学生开发的学术钓鱼软件,成功忽悠了整个学术圈
  17. 团队项目搜查令更新二
  18. Scratch打气球游戏 电子学会图形化编程scratch等级考试三级真题答案2019-9
  19. php excel 右对齐,excel中单元格对齐方式在哪里设置?
  20. CE、FCC、ROSH、CCC认证分别是什么意思?

热门文章

  1. Kali Linux 官方宣传视频
  2. 深度强化学习-马尔科夫决策过程和表格型方法
  3. OpenCV图像处理实际案例(一)---图像倾斜矫正(仿射变换)和去边(轮廓查找+ROI提取)
  4. 抛开flash,自己开发实现C++ RTMP直播流播放器
  5. 新版ffmpeg PCM编码到AAC,swr_convert转换采样精度,稍微修改兼容PCM编码为G711A及MP3,记录下。
  6. js中Blob对象一般用法
  7. boost asio 异步实现tcp通讯
  8. go语言实现第一个程序-hello,world!
  9. tcp连接探测Keepalive和心跳包
  10. SwipeRefreshLayout