【爬虫实战】汽车之家——1.0
前言
平时喜欢到汽车之家看车,也喜欢收藏汽车模型。这次使用爬虫把汽车之家某网页的图片保存到电脑。本文章仅供学习!
程序运行结果
预览
- 目标网址:https://car.autohome.com.cn/pic/series/4171-1.html
- 网址预览
网址分析
随机选择一张图片右键点击检查(审查元素)
选择img标签的属性src,访问图片。
所看到的图片比例为480×360,清晰度不是很高,所有我们点击图片查看高清图片
同样右键图片,找到图片的地址,访问图片
显然,图片的清晰度明显比480×360的高很多。我们对比一下这两张图片的网址
https://car3.autoimg.cn/cardfs/product/g24/M07/B2/E0/480x360_0_q95_c42_autohomecar__Chtk3WDIiCGAPFsDABX1wkXD-AQ908.jpg
https://car3.autoimg.cn/cardfs/product/g24/M07/B2/E0/1024x0_1_q95_autohomecar__Chtk3WDIiCGAPFsDABX1wkXD-AQ908.jpg
显然两者之间的差异在于_autohomecar__Chtk3WDIiCGAPFsDABX1wkXD-AQ908.jpg
前的480x360_0_q95_c42
和1024x0_1_q95
,也就是将低分辨率的图片地址的480x360_0_q95_c42
改为1024x0_1_q95
就可以访问高分辨率的图片。
下面我们使用代码来实现自动保存当前页面的所有高分辨率的汽车模型。
前期准备
Python == 3.8.5
BeautifulSoup
代码实现
"""
爬取汽车之家某品牌汽车的第一页图片
"""
import requests
from bs4 import BeautifulSoup
import osclass Spider:def __init__(self, url, data_dir):self.data_dir = data_dir # 图片存储目录self.url = url # 爬虫目标网址self.img_urls = [] # 图片地址数组self.soup = BeautifulSoup(requests.get(url=url).text, 'lxml')if os.path.exists(data_dir):os.removedirs(data_dir)os.makedirs(data_dir)print('创建文件夹', data_dir)def get_img_url(self):imgUrl = self.soup.find_all('img')for img in imgUrl:src = img.get('src')# 将当前页面下爬取得到的图片的地址更改为高分辨率的图片地址src = str(src).replace('480x360_0_q95_c42_', '1024x0_1_q95_') if src.find('1024x0_1_q95_') == -1:# 若不存在高分辨率的图片,则弃存continueself.img_urls.append(src)def save_img(self):i = 0for src in self.img_urls:img_name = '%d.jpg'%(i)# src的值为 //car3.autoimg.cn/cardfs/product/g24/M07/B2/E0/xxx.jpg 因此需要加上http:才能被访问src = 'http:' + src content = requests.get(src).contentwith open(os.path.join(data_dir, img_name), 'wb') as f:f.write(content)f.close()print('成功保存%d.jpg'%(i))i += 1if __name__ == '__main__':url = 'https://car.autohome.com.cn/pic/series/4171-1.html'data_dir = os.path.split(url)[-1] # 即在当前目录下创建4171-1.html文件夹,图片将保存在里面s = Spider(url = url , data_dir = data_dir)s.get_img_url()s.save_img()pass
【注】
我们在保存网址图片的时候,可以先获取图片的内容信息使用变量存储content = requests.get(src).content
(),再新建文件写入信息
with open('../路径/文件名称.后缀', 'wb') as f:f.write(content)f.close()
【爬虫实战】汽车之家——1.0相关推荐
- Python 爬虫实战 汽车某家(四) 车型配置
文章目录 一.工具选择 二.demo示例 三.完整代码 前言:汽车之家车型配置数据是js加载+js动态伪元素防爬加载,原始页面中不存在任何数据,因此通过scrapy显式爬取已经不太可能,通过查阅大量资 ...
- Python 爬虫实战 汽车某家(一) 品牌
文章目录 一.品牌爬取 1.进入主页.测试待爬取内容是否为动态加载 2.找到动态请求 3.shell测试请求 附件:异步请求返回的品牌导航栏html 环境: python3.6 scrapy1.5.1 ...
- Python 爬虫实战 汽车某家(五) 口碑、评分
文章目录 一.项目结构 二.核心类代码 爬取内容 1.用户口碑明细评分 2.口碑标题.发表日期.口碑推荐级别 3.购车目的 4.购车价格 5.购车经销商 一.项目结构 point.txt 为断点保存文 ...
- Python 爬虫实战 汽车某家(三) 车型
文章目录 一.爬取逻辑分析 核心 二.爬取页面销售状态分析 三.爬取页面车型列表分析 四.停售分页分析 五.指导价和评分爬取 1.指导价html片段 2.有评分html片段 3.无评分html片段 一 ...
- 【爬虫实战】汽车之家——2.0
前言 上一篇文章爬虫实战--汽车之家--1.0,爬取的是汽车之家指定某网页第一页的图片,现在我们对1.0的代码进行升级,依次爬取改某品牌汽车所有车型的车身外观图 程序运行结果 预览 目标网址:http ...
- python爬虫之汽车之家论坛帖子内容爬取
Datawhale爬虫 第五期 Day7 实战项目:汽车之家车型论坛帖子信息 作为国内目前第一大汽车论坛,反爬虫很恶心,中间很多坑. 新手,第一次搞这么复杂的爬虫,前期没有排查,都是遇到坑的时候再返回 ...
- python怎么爬虫理数据_Python神技能 | 使用爬虫获取汽车之家全车型数据
最近想在工作相关的项目上做技术改进,需要全而准的车型数据,寻寻觅觅而不得,所以就只能自己动手丰衣足食,到网上获(窃)得(取)数据了. 汽车之家是大家公认的数据做的比较好的汽车网站,所以就用它吧.(感谢 ...
- python 写csv scrapy_Python神技能 | 使用爬虫获取汽车之家全车型数据
最近想在工作相关的项目上做技术改进,需要全而准的车型数据,寻寻觅觅而不得,所以就只能自己动手丰衣足食,到网上获(窃)得(取)数据了. 汽车之家是大家公认的数据做的比较好的汽车网站,所以就用它吧.(感谢 ...
- 爬虫实战:链家租房数据爬取,实习僧网站数据爬取
前面已经进行了爬虫基础部分的学习,于是自己也尝试爬了一些网站数据,用的策略都是比较简单,可能有些因素没有考虑到,但是也爬取到了一定的数据,下面介绍两个爬过的案例. 爬虫实战 链家网站爬取 实习僧网站爬 ...
最新文章
- hadoop 基准测试与读写测试
- JSON是什么?它能带来什么?
- 免费的HTML5连载来了《HTML5网页开发实例具体解释》连载(四)HTML5中的FileSystem接口...
- php执行一条insert插入两条数据其中一条乱码
- 兔子野鸡49只100条腿c语言,家禽生产学复习题
- P7408-[JOI 2021 Final]ダンジョン 3【贪心,树状数组】
- oracle instr查询字符串
- 2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(下)
- linux主机添加discuz伪静态规则,(总结)Nginx下Discuz 7.2伪静态规则设置
- 怎么理解anchor
- 某8086cpu构成的微型计算机,微型计算机原理及应用试题及答案
- CICD详解(十六)——Sonar报错:java.lang.IllegalStateException: Webapp did not start解决
- [5-24]绿色精品软件每天更新[uc23整理]
- 33岁学做软件测试还来得及? 4个建议送给你!
- 计算机基础学习记录2-1
- 音视频开发之旅(67) - 变速不变调之sonic源码分析
- 计算机相关分类号,中图法分类号(计算机专业) TP
- java Python+Django的工厂设备管理系统 Pycharm
- Go读取Xml标签数据
- (一篇就够)git原理深入理解
热门文章
- 旅游公司应当如何制作旅游宣传H5呢?
- 2023年美赛春季赛ICM Z题
- WPF和winform中使用ZedGraph
- oracle+srvctl+crsctl,【Oracle Database】Oracle RAC(七):crsctl srvctl
- 奇怪了,为什么“语句未结束”
- Python查找算法(一)------ 顺序查找
- js+css数字滚动
- python节日快乐_节日快乐! Python画一棵圣诞树送给你
- 经纬恒润再传佳讯,斩获大奖
- “婆媳”同框?孙俪晒与关晓彤18年前后合影,网友调侃称儿媳妇来了