说明:个人因项目需要风景图数据集而写,仅供参考。

配置:ubuntu20、firefox、pycharm、requests、BeautifulSoup

步骤:

1、bing搜索“风景图”,按F12,点击“网络”,点击“XHR”,按F5刷新,滑轮往下拉,进入如图所示状态。

2、与其他的新弹出的get请求对比可知将前面一致的网址复制,后面的舍去,first每次加35即可。

3、查看单张图片HTML代码,可知src为图片url。

代码:

total:请自己按需选取

headers:请自己填写

url:不一定是风景图,bing其他的应该也可以。

response.encoding:按F12搜charset,按网页编码填写

import requests
from requests.exceptions import ReadTimeout, HTTPError, RequestException
from bs4 import BeautifulSoup
import re
import os
import timedef main():total = 350  # 因为bing每组缩略图是35张,所以total最好是35的倍数floop = total // 35  # 缩略图总组数img_loc = "./img"  # 储存图片的文件夹if total % 35 != 0:  # 如果total不是35的倍数,如10,则floop需要加1才能下载图片floop += 1if not os.path.exists("./img"):print("不存在图片存储文件夹,进行新建。")os.mkdir(img_loc)# 请求头请自己填写headers = {"User-Agent": ""}for i in range(0, floop):# 第几组缩略图网址url = "https://cn.bing.com/images/async?q=%E9%A3%8E%E6%99%AF%E5%9B%BE&first={}&count=35&cw=1320&ch=383&relp=35&apc=0&tsc=ImageHoverTitle&datsrc=I&layout=RowBased_Landscape&mmasync=1".format(i * 35)response = requests.get(url=url, headers=headers, timeout=5)# 请自己查看网页编码为多少,不为utf-8则进行修改。response.encoding = "utf-8"soup = BeautifulSoup(response.text, features="lxml")if response.status_code == 200:for idx, j in enumerate(soup.find_all(class_=re.compile("mimg.*"))):img_url = j["src"]img_name = idx + i * 35 + 1  # 以第几张图片为名if img_name == total + 1:  # 当total不是35的倍数时,下载到上一张图片为止breaktry:img_response = requests.get(url=img_url, headers=headers, timeout=3)img = img_response.content# 不知道为什么我直接以img_name建立文件,会有plain后缀的图片,所以才进行的重命名。。。with open(img_loc + "/%s" % img_url.split("/")[-1], "wb") as f:f.write(img)# 我用的ubuntu写的,不用加.png等后缀,windows可能要加上.png等后缀。os.rename(img_loc + "/%s" % img_url.split("/")[-1], img_loc + "/%d" % img_name)print("第%d张图片下载成功" % img_name)except ReadTimeout:  # 超时异常print("timeout")except HTTPError:  # HTTP异常print("http error")except RequestException:  # 请求异常print("request error")finally:time.sleep(1)  # 防止访问频率太高封ipelse:print("第%d组缩略图状态码:" % i, response.status_code)print("下载完成!")if __name__ == "__main__":main()

ps:若哪里有错误或改进地方,请不吝赐教。

python bing 风景图爬取相关推荐

  1. Python+Fiddler5带你爬取6000+高清王者荣耀cosplay图

    Python+Fiddler5带你爬取6000+高清王者荣耀cosplay图 写在前面 最近在玩蛇的时候发现一个抓包神器Fiddler,简直不要太好用,于是当作练手就把这软件给安排了,王者荣耀盒子一个 ...

  2. python——图片爬虫:爬取爱女神网站(www.znzhi.net)上的妹子图 进阶篇

    在上一篇博客中:python--图片爬虫:爬取爱女神网站(www.znzhi.net)上的妹子图 基础篇 我讲解了图片爬虫的基本步骤,并实现了爬虫代码 在本篇中,我将带领大家对基础篇中的代码进行改善, ...

  3. python多线程爬取多个网址_【Python爬虫】多线程爬取斗图网站(皮皮虾,我们上车)...

    原标题:[Python爬虫]多线程爬取斗图网站(皮皮虾,我们上车) 斗图我不怕 没有斗图库的程序猿是无助,每次在群里斗图都以惨败而告终,为了能让自己在斗图界立于不败之地,特意去网上爬取了斗图包.在这里 ...

  4. python爬虫课设-爬取3000条数据并做数据可视化

    很久以前接的单子,分享一下(挺水的,将就着看吧) 文章目录 作业要求 数据爬取 爬取结果 数据处理 数据可视化 大作业文档 作业要求 <Python与数据分析>期末大作业要求(2020-2 ...

  5. 基于python的数据爬取与分析_基于Python的网站数据爬取与分析的技术实现策略

    欧阳元东 摘要:Python为网页数据爬取和数据分析提供了很多工具包.基于Python的BeautifulSoup可以快速高效地爬取网站数据,Pandas工具能方便灵活地清洗分析数据,调用Python ...

  6. 利用python的scrapy框架爬取google搜索结果页面内容

    scrapy google search 实验目的 爬虫实习的项目1,利用python的scrapy框架爬取google搜索结果页面内容. https://github.com/1012598167/ ...

  7. 携程ajax,Python爬虫实战之爬取携程评论

    一.分析数据源 这里的数据源是指html网页?还是Aajx异步.对于爬虫初学者来说,可能不知道怎么判断,这里辰哥也手把手过一遍. 提示:以下操作均不需要登录(当然登录也可以) 咱们先在浏览器里面搜索携 ...

  8. 2021春项目需求记录 python实现模拟登录+爬取NASA Modis 上的产品数据

    python实现模拟登录+爬取Nasa Modis 上的产品数据 概述 需求分析 基本思路 代码 概述 3月的中旬时候参与了学校的一个大创项目,作为本科生,本人只是摸鱼打杂,负责了其中的一个功能模块: ...

  9. [网络爬虫|smtp协议|python]东方财富网爬虫,python smtp协议发送爬取数据至QQ邮箱

    本文改自 [网络爬虫|smtp协议|python]东方财富网爬虫,python smtp协议发送爬取数据至QQ邮箱 之前写的爬虫单子,代码已经跑了快3个月了,后续又增加了一些需求,修改了一些小bug ...

最新文章

  1. Xamarin.Forms教程下载安装JDK配置环境变量
  2. 设置 docker容器 禁用网络
  3. .NET Core微服务之基于Ocelot实现API网关服务(续)
  4. AI:几张图理清人工智能与机器学习、知识发现、数据挖掘、统计学、模式识别、神经计算学、数据库之间的暧昧关系
  5. 世界上最富有的十大家族
  6. 安卓简单天气预报app源码_七个个小众但实用的APP,效率翻倍~
  7. 15.2. important
  8. 首次使用物联网设备进行的 Wi-Fi 6 试用测试宣布成功
  9. 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?
  10. xp计算机找不到音量调节,XP找不到音量控制程序怎么办
  11. Python爬虫——爬取网站的图片
  12. python猜数字统计游戏次数_猜数字游戏的实现(Python3.5)
  13. 2022-03-25 redis哨兵处理failover
  14. 【掌上齐齐哈尔】市民网上换领驾驶证方便快捷
  15. mapbox 聚合图
  16. 闽江学院c语言期末试卷,Matlab期末复习08_闽江学院:matlab6.5(周赢武)_ppt_大学课件预览_高等教育资讯网...
  17. SMT打样-邮票孔拼版制作方法
  18. 如何利用长尾关键词挖掘推广口红?
  19. 快手广告投放方式有哪些?快手广告怎么计费的?
  20. 解决方案|电力行业应如何应对数字化转型危机

热门文章

  1. Smart Jump
  2. 凉拌苦菊怎么做 凉拌苦菊的做法
  3. linux设置密码报错automa,opensuse linux环境下ibm_websphere和ibm_db2安装以及DB2数据迁移操...
  4. Logstash 配置文件 Grok 语法
  5. 德国访问学者签证的材料准备
  6. XM6748F-IDK TMS320C6748+FPGA高速数据采集处理平台
  7. d3.js实现力导向图圈选框选
  8. Vue 正则表达式验证表单字段(如用户名/密码/真实姓名/身份证/手机号/邮箱)的合法性
  9. php开发者是否要转java
  10. 周末被叫去加班,就像。。。