python爬虫获取网络图片

记录一下利用爬虫获取网络图片
具体操作来自博客:Python 爬虫系列教程一爬取批量百度图片

我的编辑器是vscode,首先安装三个包

pip install BeautifulSoup  pip insatll requestspip install  lxml

安装第一个包时,输出报错没安装上,但是利用pip list查时,确实有这个包,应该是run code的问题,我采用终端运行。
这是一个解决办法,供参考。关于VS code中 import后却显示no module的问题解决(明明安装了却无法导入,终端可以运行,输出端不行)


大佬的这个代码不需要修改,安装三个包之后可以立即运行起来。
放上源代码

# -*- coding: utf-8 -*-
"""
Created on Sun Sep 13 21:32:25 2020
@author: ydc
"""import re
import requests
from urllib import error
from bs4 import BeautifulSoup
import osnum = 0
numPicture = 0
file = ''
List = []def Find(url, A):global Listprint('正在检测图片总数,请稍等.....')t = 0i = 1s = 0while t < 1000:Url = url + str(t)try:# 这里搞了下Result = A.get(Url, timeout=7, allow_redirects=False)except BaseException:t = t + 60continueelse:result = Result.textpic_url = re.findall('"objURL":"(.*?)",', result, re.S)  # 先利用正则表达式找到图片urls += len(pic_url)if len(pic_url) == 0:breakelse:List.append(pic_url)t = t + 60return sdef recommend(url):Re = []try:html = requests.get(url, allow_redirects=False)except error.HTTPError as e:returnelse:html.encoding = 'utf-8'bsObj = BeautifulSoup(html.text, 'html.parser')div = bsObj.find('div', id='topRS')if div is not None:listA = div.findAll('a')for i in listA:if i is not None:Re.append(i.get_text())return Redef dowmloadPicture(html, keyword):global num# t =0pic_url = re.findall('"objURL":"(.*?)",', html, re.S)  # 先利用正则表达式找到图片urlprint('找到关键词:' + keyword + '的图片,即将开始下载图片...')for each in pic_url:print('正在下载第' + str(num + 1) + '张图片,图片地址:' + str(each))try:if each is not None:pic = requests.get(each, timeout=7)else:continueexcept BaseException:print('错误,当前图片无法下载')continueelse:string = file + r'\\' + keyword + '_' + str(num) + '.jpg'fp = open(string, 'wb')fp.write(pic.content)fp.close()num += 1if num >= numPicture:returnif __name__ == '__main__':  # 主函数入口############################### 这里加了点headers = {'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2','Connection': 'keep-alive','User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0','Upgrade-Insecure-Requests': '1'}A = requests.Session()A.headers = headers
###############################word = input("请输入搜索关键词(可以是人名,地名等): ")# add = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E5%BC%A0%E5%A4%A9%E7%88%B1&pn=120'url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&pn='# 这里搞了下tot = Find(url, A)Recommend = recommend(url)  # 记录相关推荐print('经过检测%s类图片共有%d张' % (word, tot))numPicture = int(input('请输入想要下载的图片数量 '))file = input('请建立一个存储图片的文件夹,输入文件夹名称即可')y = os.path.exists(file)if y == 1:print('该文件已存在,请重新输入')file = input('请建立一个存储图片的文件夹,)输入文件夹名称即可')os.mkdir(file)else:os.mkdir(file)t = 0tmp = urlwhile t < numPicture:try:url = tmp + str(t)# 这里搞了下result = A.get(url, timeout=10, allow_redirects=False)except error.HTTPError as e:print('网络错误,请调整网络后重试')t = t + 60else:dowmloadPicture(result.text, word)t = t + 60print('当前搜索结束,感谢使用')print('猜你喜欢')for re in Recommend:print(re, end='  ')

在终端输入python p.py运行程序后
按提示输入你想要的图片、数量等后
等待下载就ok了!

python爬虫获取网络图片相关推荐

  1. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  2. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

  3. 域名带后缀_[Python 爬虫]获取顶级域名及对应的 WHOIS Server 及 whoisservers.txt 下载...

    使用 Python 爬虫获取顶级域名及对应的 WHOIS Server 并保存可用于 WhoisCL.exe 的文件 whois-servers.txt. 环境: Windows 10 Python ...

  4. python爬虫获取url_Python爬虫如何获取页面内所有URL链接?本文详解

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  5. python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  6. 突破次元壁障,Python爬虫获取二次元女友

    突破次元壁障,Python爬虫获取二次元女友 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生友环节 ...

  7. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...

  8. Python爬虫 | Python爬虫获取女友图片

    Python爬虫 | Python爬虫获取女友图片 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生 ...

  9. 教你使用Python爬虫获取电子书资源实战!喜欢学习的小伙伴过来看啦!

    最近在学习Python,相对java来说python简单易学.语法简单,工具丰富,开箱即用,适用面广做全栈开发那是极好的,对于小型应用的开发,虽然运行效率慢点,但开发效率极高.大大提高了咱们的生产力. ...

最新文章

  1. 1.20 Java8新特性:Effectively final
  2. python decode()函数 (使用登记用于编码的编解码器解码字节)
  3. Prim和Dijkstra居然写起来一模一样
  4. java addlistener_Java怎样监听文本//比如下面 y.addInputMethodListener((InputMethodListener) this);...
  5. 会赚钱的人共有的特征,你是吗?
  6. SSIS变量属性中EvaluateAsExpression设置的作用
  7. java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
  8. 创建crawlspider爬虫 学习笔记
  9. MySQL--用cmd命令查看已经建成的表
  10. WCF分布式安全开发实践(10):消息安全模式之自定义用户名密码:Message_UserNamePassword_WSHttpBinding...
  11. requests.get为什么得到的内容和查看源文件不一样?
  12. 学习利器,借助Tampermonkey写一个B站视频加速器脚本
  13. 安心之法-斯多葛哲学学派,近年来在美国非常流行
  14. 4G全网通MTK6737开发板-安卓核心板通信LTE模块方案
  15. 举例解释大数定律、中心极限定理及其在机器学习中的应用
  16. 换脸系统php,【AI换脸】Faceswap源代码换脸软件安装指南(转)
  17. 算法题--第几个幸运数
  18. 6个jQuery Form Wizard插件
  19. 一文看懂区块链架构设计
  20. c语言-输出倒三角图案

热门文章

  1. 正则表达式学习的一天
  2. DMC-Net: Generating Discriminative Motion Cues for Fast Compressed Video Action Recognition 论文赏析
  3. 作为父亲,给儿子留下些什么? | 黄华书房
  4. 微信小程序授权登录(获取手机号及用户信息)
  5. Flink ReducingState 实例
  6. 人机交互设计(HCI)的七原则
  7. ubuntu18.04编译U-boot产生的错误
  8. 二级c语言考试系统安卓,无忧考吧二级c语言考试系统下载_无忧考吧二级c语言考试系统官方下载-太平洋下载中心...
  9. PIL:处理图像的好模块
  10. centos7-登录显示名称及登录欢迎界面设置