Python 爬蟲實例(15) 爬取 汽車之家(汽車授權經銷商)


 

有人給我吹牛逼,說汽車之家反爬很厲害,我不服氣,所以就爬取了一下這個網址。

本片博客的目的是重點的分析定向爬蟲的過程,希望讀者能學會爬蟲的分析流程。

 

一:爬蟲的目標:

打開汽車之家的鏈接:https://www.autohome.com.cn/beijing/,出現如下頁面

 

 我們的目標是

  

點擊找車,然后出現如下圖

  

我們要把圖中的信息抓取到

 二:實現過程

我們選擇  寶馬5系  然后點擊找車

注意寶馬5系的  data-value  是  65

如下圖

 

 因為這個網頁需要做翻頁,我們就點擊翻頁。然后抓取到了一個url鏈接的請求方式。

可以判斷出來的是  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()

 

 

 在這里不做解析。

 三:總結

有人要問了SeriesId = 65怎么處理,這個很簡單,把汽車之家所有的車系都封裝成一個字典格式數據就可以啦,CityId,ProvinceId  也是同理。

爬蟲的難點不是網站的一些反爬措施,而是一個請求有幾十個url鏈接,能准確的找到自己需要的鏈接,有用的鏈接才是最重要的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM