爬虫---Beautiful Soup 爬取图片
上一篇简单的介绍Beautiful Soup 的基本用法,这一篇写下如何爬取网站上的图片,并保存下来
爬取图片
1.找到一个福利网站:http://www.xiaohuar.com/list-1-1.html
2.通过F12进行定位图片
3.通过下图可以看到标签为img,然后通过width="210"的属性

爬取方法
1.通过find_all()的方法进行查找图片位置
2.筛选出图片的URL和图片名称
3.筛选后会发现其中有一些图片URL不完整

4.这个时候需要在代码中加一个判断,如何URL不完整 我们就给他补充完整
import requests
from bs4 import BeautifulSoup
import os
# 请求地址
url = 'http://www.xiaohuar.com/list-1-1.html'
html = requests.get(url).content
# BeautifulSoup 实例化
soup = BeautifulSoup(html,'html.parser')
jpg_data = soup.find_all('img',width="")
for i in jpg_data:
data = i['src']
name = i['alt']
# 判断URL是否完整
if "https://www.dxsabc.com/" not in data:
data = 'http://www.xiaohuar.com'+ data
保存图片
1.判断一个文件夹是否存在,不存在就重新创建
2.request模块请求图片的URL
3.通过content返回图片二进制,进行写入文件夹中
# coding:utf-8
import requests
from bs4 import BeautifulSoup
import os
# 创建一个文件夹名称
FileName = 'tupian'
if not os.path.exists(os.path.join(os.getcwd(), FileName)): # 新建文件夹
print(u'建了一个名字叫做', FileName, u'的文件夹!')
os.mkdir(os.path.join(os.getcwd(),'tupian'))
else:
print(u'名字叫做', FileName, u'的文件夹已经存在了!')
url = 'http://www.xiaohuar.com/list-1-1.html'
html = requests.get(url).content # 返回html
soup = BeautifulSoup(html,'html.parser') # BeautifulSoup对象
jpg_data = soup.find_all('img',width="") # 找到图片信息
for i in jpg_data:
data = i['src'] # 图片的URL
name = i['alt'] # 图片的名称
if "https://www.dxsabc.com/" not in data:
data = 'http://www.xiaohuar.com'+data
r2 = requests.get(data)
fpath = os.path.join(FileName,name)
with open(fpath+'.jpg','wb+')as f : # 循环写入图片
f.write(r2.content)
print('保存成功,快去查看图片吧!!')
图片就不贴了,喜欢的可以自己动手写一写。
爬虫---Beautiful Soup 爬取图片的更多相关文章
- 一起学爬虫——使用Beautiful Soup爬取网页
要想学好爬虫,必须把基础打扎实,之前发布了两篇文章,分别是使用XPATH和requests爬取网页,今天的文章是学习Beautiful Soup并通过一个例子来实现如何使用Beautiful Soup ...
- 使用Beautiful Soup爬取猫眼TOP100的电影信息
使用Beautiful Soup爬取猫眼TOP100的电影信息,将排名.图片.电影名称.演员.时间.评分等信息,提取的结果以文件形式保存下来. import time import json impo ...
- 爬虫---Beautiful Soup 初始
我们在工作中,都会听说过爬虫,那么什么是爬虫呢? 什么是网络爬虫 爬虫基本原理 所谓网络爬虫就是一个自动化数据采集工具,你只要告诉它要采集哪些数据,丢给它一个 URL,就能自动地抓取数据了.其背后的基 ...
- 爬虫---Beautiful Soup 通过添加不同的IP请求
上一篇爬虫写了如何应付反爬的一些策略也简单的举了根据UA的例子,今天写一篇如何根据不同IP进行访问豆瓣网获取排行版 requests添加IP代理 如果使用代理的话可以通过requests中的方法pro ...
- 爬虫---Beautiful Soup 反反爬虫事例
前两章简单的讲了Beautiful Soup的用法,在爬虫的过程中相信都遇到过一些反爬虫,如何跳过这些反爬虫呢?今天通过知乎网写一个简单的反爬中 什么是反爬虫 简单的说就是使用任何技术手段,阻止别人批 ...
- scrapy爬虫系列之三--爬取图片保存到本地
功能点:如何爬取图片,并保存到本地 爬取网站:斗鱼主播 完整代码:https://files.cnblogs.com/files/bookwed/Douyu.zip 主要代码: douyu.py im ...
- 爬虫-Beautiful Soup模块
阅读目录 一 介绍 二 基本使用 三 遍历文档树 四 搜索文档树 五 修改文档树 六 总结 一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通 ...
- python3爬虫-快速入门-爬取图片和标题
直接上代码,先来个爬取豆瓣图片的,大致思路就是发送请求-得到响应数据-储存数据,原理的话可以先看看这个 https://www.cnblogs.com/sss4/p/7809821.html impo ...
- Python爬虫学习 - day1 - 爬取图片
利用Python完成简单的图片爬取 最近学习到了爬虫,瞬时觉得很高大上,想取什么就取什么,感觉要上天.这里分享一个简单的爬取汽车之家文章列表的图片教程,供大家学习. 需要的知识点储备 本次爬虫脚本依赖 ...
随机推荐
- 201871010111-刘佳华《面向对象程序设计(java)》第十六周学习总结
学号-姓名<面向对象程序设计(java)>第十六周学习总结 实验十四 应用程序归档与线程初步 实验时间 2019-12-12 第一部分:理论知识总结 1.程序与进程的概念 ‐程序是一段静 ...
- C++ class内的=重载,拷贝赋值函数copy op=,重载示例。必须是class内
#include <iostream> // overloading "operator = " inside class // = 是一元操作符.不写,编译器会提供 ...
- appium--使用PyYAML封装Capability
前戏 YAML 语言的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下. YAML大小写敏感: 使用缩进代表层级关系: 缩进只能使用空格,不能使用TAB,不要求空 ...
- Redis系列1——概述
1. 简介 Redis,key-value内存存储的数据库,全称“”Remote Dictionary Service(Sever)“”,默认端口号:6379 Redis是一个开源的使用ANSI C语 ...
- C# 位运算基本大全
1.原码 反码 补码 只用补码进行计算,且没有减法.只有用补码进行加法运算,具体原因,详见:http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/C ...
- 安装pip-9.0.1-py2.py3-none-any.whl
pip的安装 1.从https://pypi.python.org/pypi/pip#downloads下载所需的.whl文件 2.将下载的文件放入Python的根目录 我的根目录是F:\Python ...
- 微软宣布成立.NET基金会全面支持开源项目 包括C#编译器Roslyn【转】
基金会初始董事包括 Mono 项目和 Xamarin 的老大 Miguel de Icaza,微软 .NET 团队代表和微软开放技术公司(这是微软专门为开源和开放技术.标准化成立的独立公司)代表. 首 ...
- Kubernetes 弹性伸缩全场景解析(三) - HPA 实践手册
在上一篇文章中,给大家介绍和剖析了 HPA 的实现原理以及演进的思路与历程.本文我们将会为大家讲解如何使用 HPA 以及一些需要注意的细节. autoscaling/v1 实践 v1 的模板可能是大家 ...
- 机器学习(十)-------- 降维(Dimensionality Reduction)
降维(Dimensionality Reduction) 降维的目的:1 数据压缩 这个是二维降一维 三维降二维就是落在一个平面上. 2 数据可视化 降维的算法只负责减少维数,新产生的特征的意义就必须 ...
- 使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签
使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签 魏刘宏 2019 年 11 月 22 日 如题,本文讨论在使用 Chromium 内核的浏览器上,使用 Floccus 插件,配合 ...