python爬虫入门:获取在百度图片搜索的时候第一页的所有图片并下载

V站笔记

http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1460997499750_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=xxx

其中结尾的xxx代表要搜索的图片,比如:闪电侠等

  • 以下代码是,提醒要爬取什么图片之后,再自动下载采集,只采集其中的一页
# coding:utf8 import reimport requestsimport os name = input("请输入你想要的图片:") url = "http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1460997499750_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word={}".format(name) html = requests.get(url).text image_path = os.path.join(os.path.dirname(__file__),"images/{}".format(name)) pic_url = re.findall('"objURL":"(.*?)",',html,re.S) if not os.path.exists(image_path):    os.makedirs(image_path) i = 0for each in pic_url:    file_name = image_path + '/' + str(i) + '.jpg'    print(each)    try:        pic = requests.get(each,timeout=10)    except:        print('当前图片无法下载')        continue    f = open(file_name,'wb')    f.write(pic.content)    f.close()    i += 1
  • 上面的代码采用的是requests + re来获取到所有图片的链接,并下载,思路:
  1. requests获取到网页内容
  2. 用re正则来获取网页中图片的链接
  3. 再使用requests来下载图片
  • 注意
  1. 采用python3.6,python2的需要注意编码问题
  2. 如果没有requests包的话,请pip install requests安装

原文链接:https://24bp.cn

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JavaEdge

JVM性能调优实战(一) - 基于JDK命令行的监控1 JVM的参数类型2 查看JVM运行时参数3 jstat查看JVM统计信息GC

511
来自专栏抠抠空间

Linux文件操作相关命令

1580
来自专栏极客慕白的成长之路

使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析

有时候我们需要直接用jdk提供的java命令来执行class文件让软件运行起来,特别是很多初学者,但经常会发现如下提示:

903
来自专栏轮子工厂

你真的了解Linux系统吗?

现在很多公司项目部署都使用的是 Linux 服务器,互联网公司更是如此。对于大一些的互联网公司,系统可能会非常复杂,本地无法启动,一般都会采用专门的开发机给开发...

1024
来自专栏从零学习云计算

openshift/origin学习记录(12)——离线安装集群

最近较忙,这里简要记录一下安装过程,做下备份。

5256
来自专栏大闲人柴毛毛

Java并发编程的艺术(四)——线程的状态

线程的状态 初始态:NEW 创建一个Thread对象,但还未调用start()启动线程时,线程处于初始态。 运行态:RUNNABLE 在Java中,运行态包括...

42811
来自专栏李家的小酒馆

Linux基本命令

Linux 基本命令 下面为基本可以使用到的命令,只添加了一些常用的参数。 1.cd:切换目录 cd /root 2.mkdir:创建文件 mkdir /roo...

2180
来自专栏上善若水

S008SELinux的约束操作

约束(constraints),是SELinux很有用的特新,它的使用十分普遍。很多时候,用户觉得约束是一种添加到黑名单上,并使其受限的方法。当然前提是默认允许...

1142
来自专栏地方网络工作室的专栏

Shell 命令行批量处理图片文件名

Shell 命令行批量处理图片文件名 从网上下载了一堆图片,有的是*.jpg的,有的是*.jpeg的。并且文件名有长有短,很是糟心。因此,我想把这些文件给全部整...

29010
来自专栏大内老A

[WCF 4.0新特性] 默认绑定和行为配置

对于传统的WCF配置系统,无论是绑定的配置还是行为(服务行为和终结点行为)都必须具有一个名称。而正是通过整个配置名称,它们才能被应用到目标对象(终结点或者服务)...

18010

扫码关注云+社区