爬虫之牛刀小试(七):爬取某二手车网站

今天爬取的是某二手车网站
在这里插入图片描述
首先,分析进行抓包处理:
在这里插入图片描述
然后点击进去看看数据:
在这里插入图片描述
关键在于clue_id怎么获取,发现在其上一个网页中有clue_id,于是就解决了。

代码:


import requests
import time
import re
import json
headers = {
    'User-Agent':'',
    'Referer':''
}

def get_page(i):
    url="https://mapi.guazi.com/car-source/carList/pcList?versionId=0.0.0.0&sourceFrom=wap&deviceId=323816f4-f012-4cf5-8471-8b4737ea22e5&osv=Windows+10&minor=&sourceType=&ec_buy_car_list_ab=&location_city=&district_id=&tag=-1&license_date=&auto_type=&driving_type=&gearbox=&road_haul=&air_displacement=&emission=&car_color=&guobie=&bright_spot_config=&seat=&fuel_type=&order=&priceRange=0,-1&tag_types=&diff_city=&intention_options=&initialPriceRange=&monthlyPriceRange=&transfer_num=&car_year=&carid_qigangshu=&carid_jinqixingshi=&cheliangjibie=&page="+str(i)+"&pageSize=20&city_filter=12&city=12&guazi_city=12&qpres=&platfromSource=wap"
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text
    else:
        return None
def get_fado(num):
    url="https://mapi.guazi.com/car-source/carRecord/pcConfigurations?versionId=0.0.0.0&sourceFrom=wap&deviceId=323816f4-f012-4cf5-8471-8b4737ea22e5&osv=Windows+10&clueId="+str(num)+"&platfromSource=wap"
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text
    else:
        return None
if  __name__ == "__main__":
    for i in range(1,30):
        html = get_page(i)
        data = json.loads(html)
        print("正在提取第"+str(i)+"页")
        print("-------------------"*5)
        for j in range(0,20):
            print(data["data"]["postList"][j]["title"])
            print("-------------------"*3)
            time.sleep(1)
            num = data["data"]["postList"][j]["clue_id"]
            html2 = get_fado(num)
            data2 = json.loads(html2)
            for dit in data2["data"]["list"]:
                print(dit["title"])
                print("-------------------"*2)
                for dit2 in dit["children"]:
                    print(dit2["title"])
                    print(dit2[list(dit2.keys())[-1]])
                    print("-------------------")
                
            
        print("第"+str(i)+"页提取完毕")

结果:
在这里插入图片描述
最近新开了公众号,请大家关注一下。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从零开始的奋豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值