前言

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

项目目标

采集APP推广数据

受害者地址

https://www.cpajia.com/

环境

  • Python3.6
  • pycharm
  • requests
  • time
  • csv

相关库用 pip install 安装即可

获取数据内容

cap之家数据是动态数据加载的~ 开发者工具可以找到相对应的数据接口

请求数据是POST

数据内容找到了,单页数据可以直接爬取,如果想要爬取多页数据,那就要分析接口数据url的变化

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

  • 第一页接口数据data参数

两个接口都是一样的数据,但是data参数不一样,第二个就是感觉data参数就是对应的页数号,所以可以多看几页的data参数的变化

  • 第二页接口数据data参数

  • 第三页接口数据data参数

这一下就很清楚的看到data参数的变化了~Pagelndex是等差数列 刚好对应的页数

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

爬虫代码

导入相关工具

import requests
import time
import csv

请求网页

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)

解析网页数据

    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['发布时间'] = otherStyleTimedit['单价/元'] = i['price']dit['结算方式'] = i['balance']dit['数据查看'] = i['dataview']dit['电话'] = i['phone']dit['微信'] = i['wxh']dit['QQ'] = i['qq']dit['产品要求'] = i['content']

保存数据

f = open('APP推广数据.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['名称', '发布时间', '单价/元', '结算方式', '数据查看', '电话', '微信', 'QQ', '产品要求'])
csv_writer.writeheader()

运行代码,效果如下图

一个简单的网站爬虫教程,让你了解爬虫的步骤,爬虫网页数据采集相关推荐

  1. 一个简单的网站该怎样建设

    如何建设一个简单的网站?当你接触建站的时候你肯定会想我要不要做一个网站来玩玩.但也会有担心这个网站好不好建,该如何建呢?其实建一个简单网站很简单的.做好下面几个就好了. 1.目的要明确:做网站当然要先 ...

  2. eclipse maven项目 class类部署不到tomcat下_Springboot介绍以及用Eclipse搭建一个简单的Springboot项目教程

    简述 本文主要介绍Springboot以及用Eclipse搭建一个简单的Springboot项目. Springboot简介 Springboot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

  3. 自己动手搭建一个简单的网站

    我准备搭建一个属于自己的网站,一方面是了解建站的知识,另一个方面是为了测试Http请求相关的内容. 建站资料 下面是建站需要的资料: 服务器:也就是高级一点的电脑,它主要用来存放网页数据: web服务 ...

  4. Ubuntu 18.04 安装 nginx 并搭建一个简单的网站

    目录 一.安装 nginx 二.设置 nginx 服务器模块 三.总结 四.参考资料 尽你所学(采用 html.或 CSS.或 Javascript 等)完成一个静态网页,比如制作一个简单的个人介绍网 ...

  5. 使用 Python 的 flask 架构搭建一个简单web网站

    使用 Python 的 flask 架构搭建一个简单web网站 1.flask最简单框架,返回hello world: from flask import * app = Flask(__name__ ...

  6. java qq ui界面_java swing 创建一个简单的QQ界面教程

    记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...

  7. 使用Android studio做一个简单的网站APP

    1.首先创建一个空白Android项目 2.然后打开项目,切换为Android视图,这时候会看到三个文件夹,分别是manifests.java.res.首先修改res/layout下的activity ...

  8. java 应用分模块_在Java 11中创建一个简单的模块化应用教程

    模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能. 本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Co ...

  9. 用php建设一个简单的网站,PHP_PHP新手上路(六),建设一个简单交互的网站(二) 5 - phpStudy...

    PHP新手上路(六) 建设一个简单交互的网站(二) 5.5 计数器 让我们在首页上加上一个计数器.这个例子已经被讲过多次了,但是还是有利于演示怎样读写文件以及创建自己的函数.counter.inc包含 ...

  10. 一个简单的网站(适合课设)

    前言 这是我帮同学写的一个很简单的网站,没有后端,主要的技术有jQuery(包括Ajax),模仿的是h2j的天猫仿站项目. 可以用于web课设,或者其他前后端交互的界面.下面看下预览图. 由于时间紧, ...

最新文章

  1. vue中的v-on事件监听机制
  2. vim在每行行首或行尾添加或删除内容
  3. 【通知】有三AI带学习资料的固态硬盘最后5个
  4. shell的date
  5. stm32 invalid rom table(转载)
  6. bgi::detail::path_intersection用法的测试程序
  7. Web项目性能优化之减少HTTP请求次数优化
  8. PHP全栈学习笔记3
  9. Supervisor的安装与使用
  10. UOS浏览器不支持NPAPI插件,怎么办?
  11. Servlet运行原理(Tomcat为例)
  12. 软件工程专业英语专用名词翻译
  13. jtopo更改节点选中框的颜色
  14. FPGA零基础学习:图像显示系统设计
  15. CES2013前瞻:1080p屏幕手机集中爆发
  16. Unity3D中隐藏与显示物体的方法
  17. 手撸架构,Nginx 面试40问
  18. 数据驱动的瑞幸咖啡未来会能赚!
  19. 魏小亮:参加编程竞赛对实际工作的用处
  20. Python-Django毕业设计航空订票系统(程序+Lw)

热门文章

  1. 效果图如何做出插画风格?SketchUp 插画风效果图渲染技巧
  2. 软件分析——数据流分析2
  3. OCP-1Z0-051 第33题 create table 建表语句
  4. 五十、头文件和源文件的区别和规范(extern)
  5. Python-pandas的fillna()方法-填充空值
  6. 奇偶校验-基于C++的简易计算奇偶校验位
  7. python 东方财富网百度股票数据定向爬虫 实例
  8. 7×14小时陪伴,DaDaBaby核心课程升级背后到底有多少考量?
  9. java Comparablelt;gt;_static lt;T extends Object Comparablelt;? super Tgt; gt;T max(Collecti...
  10. ubuntu软件源更新不了,解决方法