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

import requests,json

#author@ 许娜

#date : 2017/11/12

#os : ubuntu16.04

#python: python2

""" 获取图片的所有urls,存入set集合中去重,存在urls.txt中 """

def get_urls(key,sum):

#请求头

url = "https://image.baidu.com/search/index"

headers = {

'cookie': "td_cookie=2373937907; BDqhfp=%E6%B5%B7%E8%BE%B9%26%260-10-1undefined%26%260%26%261; BAIDUID=E26F8B2E16E037DF58FED1FDEAD8A636:FG=1; BIDUPSID=E26F8B2E16E037DF58FED1FDEAD8A636; PSTM=1506000312; pgv_pvi=229598208; td_cookie=2463294905; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; firstShowTip=1; indexPageSugList=%5B%22%E6%B5%B7%E8%BE%B9%22%2C%22%E6%B5%B7%E5%B2%B8%22%5D; cleanHistoryStatus=0; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=null",

'accept-encoding': "gzip, deflate, br",

'accept-language': "zh-CN,zh;q=0.8",

'user-agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36",

'accept': "text/plain, */*; q=0.01",

'referer': "https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=index&fr=&hs=0&xthttps=111111&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E6%B5%B7%E8%BE%B9&oq=%E6%B5%B7%E8%BE%B9&rsp=-1",

'x-requested-with': "XMLHttpRequest",

'connection': "keep-alive",

'cache-control': "no-cache",

'postman-token': "c1717c49-7d6f-b452-0005-026e525e7b43"

}

#pn控制页数

pn = 0

n = 0

pages = 1

flag = True

s = set()

#循环获取url

for pn in range(0,21):

print "pn=" + str(pn*30)

url = "https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=" + key + "&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&word=" + key + "&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&pn=" + str(pn*30) + "&rn=30"

#url = "http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord={key}&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word={key}&face=0&istype=2nc=1&pn={pn}&rn=60"

#url = "https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord="+key+"&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&word=%E6%B5%B7%E8%BE%B9&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&pn="+str(pn*30)+"&rn=30"

#print url

r = requests.get(url,headers=headers).text.encode("utf-8")

try:

dictinfo = json.loads(r)

#每页30张

for i in range(0,30):

#print i

if n == sum:

flag = False

else:

temp = dictinfo["data"][i]["thumbURL"]

n = n + 1

s.add(str(temp)+"\n")

except:

print "请求发送失败重试"

print len(s)

f = open("urls.txt","w")

for url in s:

f.write(url)

f.close()

print "get_urls 完成"

#将图片写在pic文件夹

def write_pics(SavePath,sum):

f = open("./urls.txt","r")

m = 1

for url in f:

Path = SavePath + str(m) +".jpg"

f1 = open(Path,"wb")

r = requests.get(url)

f1.write(r.content)

#print m

m = m + 1

f1.close()

print "write_pics 完成"

def get_class(name):

name = name.split("|")

print len(name)

for index in range(0,len(name)):

print "mingzi=" + name[index]

SavePath = "./snow/"+ str(name[index]) + "_"

print SavePath

get_urls(name[index], sum)

write_pics(SavePath,sum)

print "a"

if __name__=="__main__":

sea = "海边|海岸|沿海"

tree = "山林|树林|森林"

road = "公路|道路|小路|马路"

snow ="雪景|雪地|冬天景色"

town ="小镇|小镇风光|小镇建筑风景"

sum = 600

get_class(snow)

python爬虫搜索文献_【Python爬虫】爬取多关键字搜索的百度图片相关推荐

  1. python爬虫(二十四)爬取汽车之家某品牌图片

    爬取汽车之家某品牌图片 需求 爬取汽车之家某品牌的汽车图片 目标url https://car.autohome.com.cn/photolist/series/52880/6957393.html# ...

  2. 使用scrapy爬取指定内容相关的百度图片

    在工作中,我们经常遇到需要大量图片的场景.尤其是机器学习方向,需要大量的图片作为样本进行训练.这里用python+scrapy实现一个从百度图片爬取图片的工具.经实际测试,效率非常快.以前没有使用过s ...

  3. python爬取pubmed的文献_利用selenium爬取pubmed,获得搜索的关键字最近五年发表文章数量...

    PubMed 是一个提供生物医学方面的论文搜寻以及摘要,并且免费搜寻的数据库.是一个做生物方面经常要用到的一个查找文献的网站.最近刚学了爬虫相关的知识包括urllib库,requests库,xpath ...

  4. python爬虫小案例_从豆瓣爬取《哪吒之魔童降世》的剧照

    一.在豆瓣电影网爬取以下剧照保存到本地: 本次案例只爬取前 5 页的剧照,先获取前五页的链接: for i in range(5):url = 'https://movie.douban.com/su ...

  5. python 淘宝搜索_Python使用Selenium+BeautifulSoup爬取淘宝搜索页

    使用Selenium驱动chrome页面,获得淘宝信息并用BeautifulSoup分析得到结果. 使用Selenium时注意页面的加载判断,以及加载超时的异常处理. import json impo ...

  6. python商品评论分析_用python3爬取天猫商品评论并分析(1)

    在上一篇文章我们已经完成数据的采集,并将数据存储在mysql,现在我们来继续后面的数据分析工作,先放出项目流程: 0.主要流程 0.数据采集 0. 目标网址获取 1. 爬虫框架选用 注:了解这一步请登 ...

  7. python视频网站分类_科学网—爬取网站视频简单方法之一:python的you-get模块使用方法 - 周朝宪的博文...

    目的:网站有海量的视频(包括讲座.电影电视剧等),用python语言的you-get模块爬下来 1.安装you-get模块 在pycharm的terminal下安装.pip install you-g ...

  8. Python爬虫实战(2)之爬取NBA球队各个球员头像图片

    1.目标页面 2.页面分析 1.每个队的球员列表都在 class="team_name"的span下的a标签的href下 2.每个球员的头像图标url 为 class=" ...

  9. python 闲鱼消息_GitHub - ygq556/XianyuSdd: 爬取闲鱼某关键字实时信息,将最新的发送到钉钉群聊。更多我们共同开发的项目(咸鱼反爬更新,只能作为学习使用)...

    XianyuSdd 爬取闲鱼某关键字实时信息,将最新的发送到钉钉群聊 写了一个异步爬取闲鱼商品最新信息推送到钉钉 图中的需求有两个部分值得学习. 多线程爬取最新关键字的商品信息 python对钉钉的操 ...

  10. python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...

    学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面 import os import requests import re import json from bs4 import B ...

最新文章

  1. linux 安装sap,Solman系列 安装SAP Solution Manager 7.1 on Suse Linux
  2. C语言1e12怎么识别,求大神帮助词法分析,当输入第一个1.2e12时可以输出,当时输入第二个1.2e12时就不能输出了,万分感谢,还有不能识别x=7*8+9中的+9,...
  3. 看下你是否都做了吗?系统140种实用设置2
  4. JDBC事务--软件开发三层架构--ThreadLocal
  5. eslint quo_Quo Vadis JUnit
  6. 【maven】论 maven settings 文件 mirrors 对 IDEA 的影响
  7. Cocos Creator下删除AnySDK步骤
  8. 【SICP练习】115 练习3.41
  9. 笔记——专访李运华:程序员如何在技术上提升自己
  10. iPhone软件KK唱响评测 在线视频比拼歌声
  11. 粒子群算法几个适应度评价函数
  12. 在记事本中无限循环_意外空间:比恐怖游轮更无解的循环迷宫
  13. gulp : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\gulp.ps1
  14. C# 使用 NPOI 处理Excel导入单元格内容是公式问题
  15. 第三方微信+支付宝个人免签支付源码
  16. 个性化广告推荐系统(实战)-1-协同过滤篇
  17. [转帖]房博士教你购房(六)
  18. Linux 中的 cc 命令
  19. H3C License授权之实战
  20. php 期货数据接口,期货行情数据 - 数据接口 - NowAPI

热门文章

  1. 监听自身卸载,弹出用户反馈调查
  2. LINQ体验(14)——LINQ to SQL语句之存储过程 夺表
  3. 搜索引擎设计实用教程(1)-以百度为例 之一:查询处理以及分词技术
  4. 23 模块代码编写基础
  5. RFC 793翻译(TCP的主体内容)
  6. 159.majority element
  7. 一维搜索——进退法matlab实现(含代码)
  8. 在线教育平台签约电子化:借电子印章提速控本、服务师生
  9. 混合开启服务-----百度音乐盒
  10. IDEA Gradle的配置