一个简单的网站爬虫教程,让你了解爬虫的步骤,爬虫网页数据采集
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
项目目标
采集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.目的要明确:做网站当然要先 ...
- eclipse maven项目 class类部署不到tomcat下_Springboot介绍以及用Eclipse搭建一个简单的Springboot项目教程
简述 本文主要介绍Springboot以及用Eclipse搭建一个简单的Springboot项目. Springboot简介 Springboot是由Pivotal团队提供的全新框架,其设计目的是用来 ...
- 自己动手搭建一个简单的网站
我准备搭建一个属于自己的网站,一方面是了解建站的知识,另一个方面是为了测试Http请求相关的内容. 建站资料 下面是建站需要的资料: 服务器:也就是高级一点的电脑,它主要用来存放网页数据: web服务 ...
- Ubuntu 18.04 安装 nginx 并搭建一个简单的网站
目录 一.安装 nginx 二.设置 nginx 服务器模块 三.总结 四.参考资料 尽你所学(采用 html.或 CSS.或 Javascript 等)完成一个静态网页,比如制作一个简单的个人介绍网 ...
- 使用 Python 的 flask 架构搭建一个简单web网站
使用 Python 的 flask 架构搭建一个简单web网站 1.flask最简单框架,返回hello world: from flask import * app = Flask(__name__ ...
- java qq ui界面_java swing 创建一个简单的QQ界面教程
记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...
- 使用Android studio做一个简单的网站APP
1.首先创建一个空白Android项目 2.然后打开项目,切换为Android视图,这时候会看到三个文件夹,分别是manifests.java.res.首先修改res/layout下的activity ...
- java 应用分模块_在Java 11中创建一个简单的模块化应用教程
模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能. 本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Co ...
- 用php建设一个简单的网站,PHP_PHP新手上路(六),建设一个简单交互的网站(二) 5 - phpStudy...
PHP新手上路(六) 建设一个简单交互的网站(二) 5.5 计数器 让我们在首页上加上一个计数器.这个例子已经被讲过多次了,但是还是有利于演示怎样读写文件以及创建自己的函数.counter.inc包含 ...
- 一个简单的网站(适合课设)
前言 这是我帮同学写的一个很简单的网站,没有后端,主要的技术有jQuery(包括Ajax),模仿的是h2j的天猫仿站项目. 可以用于web课设,或者其他前后端交互的界面.下面看下预览图. 由于时间紧, ...
最新文章
- vue中的v-on事件监听机制
- vim在每行行首或行尾添加或删除内容
- 【通知】有三AI带学习资料的固态硬盘最后5个
- shell的date
- stm32 invalid rom table(转载)
- bgi::detail::path_intersection用法的测试程序
- Web项目性能优化之减少HTTP请求次数优化
- PHP全栈学习笔记3
- Supervisor的安装与使用
- UOS浏览器不支持NPAPI插件,怎么办?
- Servlet运行原理(Tomcat为例)
- 软件工程专业英语专用名词翻译
- jtopo更改节点选中框的颜色
- FPGA零基础学习:图像显示系统设计
- CES2013前瞻:1080p屏幕手机集中爆发
- Unity3D中隐藏与显示物体的方法
- 手撸架构,Nginx 面试40问
- 数据驱动的瑞幸咖啡未来会能赚!
- 魏小亮:参加编程竞赛对实际工作的用处
- Python-Django毕业设计航空订票系统(程序+Lw)
热门文章
- 效果图如何做出插画风格?SketchUp 插画风效果图渲染技巧
- 软件分析——数据流分析2
- OCP-1Z0-051 第33题 create table 建表语句
- 五十、头文件和源文件的区别和规范(extern)
- Python-pandas的fillna()方法-填充空值
- 奇偶校验-基于C++的简易计算奇偶校验位
- python 东方财富网百度股票数据定向爬虫 实例
- 7×14小时陪伴,DaDaBaby核心课程升级背后到底有多少考量?
- java Comparablelt;gt;_static lt;T extends Object Comparablelt;? super Tgt; gt;T max(Collecti...
- ubuntu软件源更新不了,解决方法