python爬虫学习(上)——目标网站分析
来源:互联网 发布:巨人网络手游地位 编辑:程序博客网 时间:2024/06/05 15:32
平日没事喜欢了解一下与汽车相关的知识与讯息,经常逛汽车之家,一直觉得汽车之家的车型检索太过“简单”,只能满足一般大部分用户的检索需求,比如6缸车、非承载车身、非双离合、前后独立悬挂、带机械锁的.....等等这些搜索条件都是不支持的,于是就想写个爬虫把站上的数据都爬回来,数据有了,我自己想怎么处理,想怎么搜就都可以了
说干就干,使用比较流行的python编写,之前没接触过,借这个机会正好学习一下,多掌握一门语言
边做边学,看了几篇介绍python爬虫的入门博客及一些python基础语法后,便开始了我的爬虫之旅
爬虫目的:爬下汽车之家网站内所有车型的基本信息,并保存到数据库中,便于日后进行数据搜索
首先,利用chrome对汽车之家网站请求、返回进行分析:
要达到我的目标页面,需要经历以下几个请求
(1)http://www.autohome.com.cn/car/ 直奔车型库页面
可以看到, 车系都已经按照了首字母进行了归类,随便点击一下N,H,B这些索引字母,可以看到http://www.autohome.com.cn/grade/carhtml/N.html、http://www.autohome.com.cn/grade/carhtml/H.html这类请求,得出规律,每个首字母下的车系列表信息可以通过http://www.autohome.com.cn/grade/carhtml/首字母.html获得
(2)http://www.autohome.com.cn/grade/carhtml/N.html 首字母下的车系列表信息页
可以看到,每个车系的具体详情页面的url都被包在了h4标签中,归纳出正则: <h4.*><a href="(.*)">.*</a></h4>
(3).进入到每个车系的具体介绍页面
随便进入几个车系的详情页 http://www.autohome.com.cn/521/#levelsource=000000000_0&pvareaid=101594、http://www.autohome.com.cn/802/#levelsource=000000000_0&pvareaid=101594......
大概浏览一下 发现我需要的信息都 在参数配置页面 http://car.autohome.com.cn/config/series/521.html、http://car.autohome.com.cn/config/series/802.html.....
可以发现参数配置的规律:http://car.autohome.com.cn/config/series/车系编号.html
于是问题就转化为了,我只要能获得所有车系的车系编号,就能拼接出每个车系的最终目标页面(参数配置页面)地址了。
发现,车系编号都可以从之前的车系的具体详情页面的ur中进行提取
(4)进入参数配置页面(http://car.autohome.com.cn/config/series/521.html)
利用chrome,发现具体的参数信息都是以json格式进行封装返回的,这下解析起来就很方便了
需要的数据都在var config里
至此,已经可以理出了一个数据获取的完整路径了,下篇进入具体的爬虫编写
- python爬虫学习(上)——目标网站分析
- C# 网络爬虫——分析目标网站
- python定向爬虫——爬取某代理Ip网站上的所有ip
- Python爬虫学习笔记——自动爬取XX网站,下载种子,封面,番号
- python爬虫: 爬一个英语学习网站
- python爬虫(上)--请求——关于旅游网站的酒店评论爬取(传参方法)
- python——图片爬虫:爬取爱女神网站(www.znzhi.net)上的妹子图 基础篇
- python——图片爬虫:爬取爱女神网站(www.znzhi.net)上的妹子图 进阶篇
- python爬虫(19)爬取论坛网站——网络上常见的gif动态图
- 准确度量 持续改进—网站分析驱动目标达成
- 准确度量 持续改进—网站分析驱动目标达成
- 准确度量 持续改进—网站分析驱动目标达成
- python爬虫学习(下)——爬虫代码实现
- Python爬虫学习四——爬虫实战
- python爬虫——beautifulsoup4使用学习
- Python学习—网络爬虫之OJ
- Python爬虫——爬取网站的图片
- Python爬虫下载网站上的图片到本地
- elk部署配置,收集nginx和tomcat日志
- Linux编程Shell介绍
- leetcode(24) - Swap Nodes in Pairs
- JS-实现继承及避免原型链的对象共享
- Android proguard代码混淆
- python爬虫学习(上)——目标网站分析
- SmsManager(短信管理器)
- 从直播CDN的原理说起,谈如何解决延时和连麦的老难题?
- Matlab中RGB和HSI的相互转换
- 【异常解决】To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
- 关于IAR的断点
- Oracle 11g导出空表、少表的解决办法
- FragmentManager 具体运用
- java.nio.Buffer 中的 flip()方法