Python爬取CAP之家的APP推广信息数据

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

开发工具

  • python 3.6.5
  • pycharm
import requests
import time
import csv

相关模块可pip安装

确定目标网页

在这里插入图片描述
获取数据内容
在这里插入图片描述
cap之家数据是动态数据加载的~ 开发者工具可以找到相对应的数据接口
在这里插入图片描述
请求数据是POST
在这里插入图片描述
数据内容找到了,单页数据可以直接爬取,如果想要爬取多页数据,那就要分析接口数据url的变化

因为数据接口是post请求,所以一般情况都是data参数的变化,所以查看data参数的变化就可以了~

  • 第一页接口数据data参数

在这里插入图片描述
在这里插入图片描述
两个接口都是一样的数据,但是data参数不一样,第二个就是感觉data参数就是对应的页数号,所以可以多看几页的data参数的变化

  • 第二页接口数据data参数

在这里插入图片描述

  • 第三页接口数据data参数

在这里插入图片描述
这一下就很清楚的看到data参数的变化了~Pagelndex是等差数列 刚好对应的页数

所以再翻页爬取的时候只要改变Pagelndex参数就可以了

完整代码

代码还是很简单的

import requests
import time
import csv
f = open('APP推广数据.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['名称', '发布时间', '单价/元', '结算方式', '数据查看', '电话', '微信', 'QQ', '产品要求'])
csv_writer.writeheader()
for page in range(1, 81):
    print('=========================================正在爬取第{}页的推广数据============================================================'.format(page))
    url = 'https://www.cpajia.com/index.php?m=index&a=search'
    data = {
    
    
        'PageIndex': '{}'.format(page)
    }
    headers = {
    
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
    response = requests.post(url=url, data=data, headers=headers)
    html_data = response.json()
    lis = html_data[1:-1]
    # pprint.pprint(lis)
    dit = {
    
    }
    for i in lis:
        dit['名称'] = i['title']
        data_time = int(i['updatetime'])
        timeArray = time.localtime(data_time)
        otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
        dit['发布时间'] = otherStyleTime
        dit['单价/元'] = i['price']
        dit['结算方式'] = i['balance']
        dit['数据查看'] = i['dataview']
        dit['电话'] = i['phone']
        dit['微信'] = i['wxh']
        dit['QQ'] = i['qq']
        dit['产品要求'] = i['content']
        csv_writer.writerow(dit)
        print(dit)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一共是80页数据,1662条推广数据

猜你喜欢

转载自blog.csdn.net/fei347795790/article/details/109136774