Python 爬虫实例(15) 爬取 汽车之家(汽车授权经销商)
2018-05-29 16:57
666 查看
有人给我吹牛逼,说汽车之家反爬很厉害,我不服气,所以就爬取了一下这个网址。
本片博客的目的是重点的分析定向爬虫的过程,希望读者能学会爬虫的分析流程。
一:爬虫的目标:
打开汽车之家的链接:https://www.autohome.com.cn/beijing/,出现如下页面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/19b1c78a1566306923fc8d148f0006f2.png)
我们的目标是
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/40c274a517f117f543c634e0236c1d50.png)
点击找车,然后出现如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/9d7927a2b0e97e6b462dda13c7e78a92.png)
我们要把图中的信息抓取到
二:实现过程
我们选择 宝马5系 然后点击找车
注意宝马5系的 data-value 是 65
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/430e5c65035a4b3e08c31dd40e23d931.png)
如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/842aa599070e81eca612b443f7e001c0.png)
因为这个网页需要做翻页,我们就点击翻页。然后抓取到了一个url链接的请求方式。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/a4d643a245a3d0014841a7a79d4c17b2.png)
可以判断出来的是 PageIndex 是页面,表示第几页。SeriesId是车系
直接上代码
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/b025306ed3be5a946f4deb70f87f6f3f.png)
在这里不做解析。
三:总结
有人要问了SeriesId = 65怎么处理,这个很简单,把汽车之家所有的车系都封装成一个字典格式数据就可以啦,CityId,ProvinceId 也是同理。
爬虫的难点不是网站的一些反爬措施,而是一个请求有几十个url链接,能准确的找到自己需要的链接,有用的链接才是最重要的。
本片博客的目的是重点的分析定向爬虫的过程,希望读者能学会爬虫的分析流程。
一:爬虫的目标:
打开汽车之家的链接:https://www.autohome.com.cn/beijing/,出现如下页面
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/19b1c78a1566306923fc8d148f0006f2.png)
我们的目标是
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/40c274a517f117f543c634e0236c1d50.png)
点击找车,然后出现如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/9d7927a2b0e97e6b462dda13c7e78a92.png)
我们要把图中的信息抓取到
二:实现过程
我们选择 宝马5系 然后点击找车
注意宝马5系的 data-value 是 65
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/430e5c65035a4b3e08c31dd40e23d931.png)
如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/842aa599070e81eca612b443f7e001c0.png)
因为这个网页需要做翻页,我们就点击翻页。然后抓取到了一个url链接的请求方式。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/a4d643a245a3d0014841a7a79d4c17b2.png)
可以判断出来的是 PageIndex 是页面,表示第几页。SeriesId是车系
直接上代码
#-*-coding:utf-8-*- from common.contest import * def spider(): url = 'https://dealer.autohome.com.cn/frame/Car/CarDealerList' headers = { "Host":"dealer.autohome.com.cn", "Connection":"keep-alive", "Accept":"*/*", "X-Requested-With":"XMLHttpRequest", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36", "Referer":"https://dealer.autohome.com.cn/frame/car/GetDealerByCar?SeriesId=65&ProvinceId=110000&CityId=110100", "Accept-Encoding":"gzip, deflate, br", "Accept-Language":"zh-CN,zh;q=0.9", "Cookie":"__ah_uuid=B5EFCA0A-C638-43C8-8D4F-1CEB07A1E9BD; fvlid=15275822890176s3cfWZKlL; sessionip=119.61.28.90; area=110199; ahpau=1; sessionid=FCACBCDA-A005-4F82-8E88-C27091B3A127%7C%7C2018-05-29+16%3A24%3A54.092%7C%7Cwww.baidu.com; sessionvid=6B39A12E-5580-4522-9800-316DA038715A; sessionuid=FCACBCDA-A005-4F82-8E88-C27091B3A127%7C%7C2018-05-29+16%3A24%3A54.092%7C%7Cwww.baidu.com; papopclub=0AFEB345FB77A406EFE118CB317CE733; pepopclub=7C16F37F6D8E038ABDFD155664996DA2; historybbsName4=c-3170%7C%E5%A5%A5%E8%BF%AAA3; pvidlist=7ab2cb54-f4a0-420c-be56-dff130b41d846:149875:216460:0:1:1036776; mpvareaid=2018278; mallsfvi=15275826304503kGG3Qam%7Cwww.autohome.com.cn%7C2018278; mallslvi=2018278%7Cwww.autohome.com.cn%7C15275826304503kGG3Qam; Hm_lvt_9924a05a5a75caf05dbbfb51af638b07=1527582690; ahsids=65_2951_3170_4851_59; ahpvno=21; pvidchain=101061,101061,101061,2018278,3311273,3311273,3311273,3311273,3311273,3311273; ref=www.baidu.com%7C0%7C0%7C0%7C2018-05-29+17%3A09%3A59.013%7C2018-05-29+16%3A24%3A54.092; Hm_lpvt_9924a05a5a75caf05dbbfb51af638b07=1527585001", } for page in range(1,11): data = { "BrandId":"0", "FactoryId":"0", "SeriesId":"65", "ProvinceId":"110000", "CityId":"110100", "CountyId":"0", "PageIndex":str(page), "DealerKind":"1", } try: result = session.get(url=url,headers=headers,verify=False,params=data).text except: result = session.get(url=url,headers=headers,verify=False,params=data).text print result spider()
![](https://oscdn.geek-share.com/Uploads/Images/Content/201805/29/b025306ed3be5a946f4deb70f87f6f3f.png)
在这里不做解析。
三:总结
有人要问了SeriesId = 65怎么处理,这个很简单,把汽车之家所有的车系都封装成一个字典格式数据就可以啦,CityId,ProvinceId 也是同理。
爬虫的难点不是网站的一些反爬措施,而是一个请求有几十个url链接,能准确的找到自己需要的链接,有用的链接才是最重要的。
相关文章推荐
- Python 爬虫实例(15) 爬取 百度百聘(微信公众号)
- Python 爬虫:2.几个爬虫实例
- Python多线程爬虫实战_爬取糗事百科段子的实例
- 以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
- python爬虫实例(urllib&BeautifulSoup)
- 【Python爬虫9】Python网络爬虫实例实战
- python3爬虫超简单实例
- Python爬虫爬取百度百科内容实例
- Python 爬虫实例(11)—— 爬虫 苏宁易购
- Python 爬虫实例(14) 爬取 百度音乐
- Python3多线程爬虫实例讲解代码
- Python基础爬虫实战实例----爬取1000个Python百度百科词条及相关词条的标题和简介
- Python 爬虫多线程详解及实例代码
- [python]糗百热点爬虫v2.0【15/4/21更新】
- 以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
- python爬虫实例-爬取壁纸网站
- 基于正则表达式(python)对东方财富网上证指数吧爬虫实例
- python爬虫小实例
- 【python】简单爬虫制作(汽车之家&易车网报价爬虫)
- Python网络爬虫与信息提取-Day10-(实例)中国大学排名定向爬虫