前言
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章
课程亮点
1、爬虫的基本流程
2、可视化分析展示
3、requests模块的使用
4、保存csv
开发环境:
-
python 3.8 运行代码
-
pycharm 2022.3.2 辅助敲代码 专业版
模块使用:
内置模块:
-
import pprint >>> 格式化输入模块
-
import csv >>> 保存csv文件
-
import re >>> re 正则表达式
-
import time >>> 时间模块
第三方模块:
- import requests >>> 数据请求模块
第三方模块安装:
win + R 输入cmd 输入安装命令 pip install 模块名
(如果你觉得安装速度比较慢, 你可以切换国内镜像源)
完整源码、教程 点击此处跳转文末名片获取 ,我都放在这里了。
数据来源分析思路:
-
确定爬取目标
-
去分析这些数据内容, 可以从哪里获取
数据是通过那个url地址 发送什么请求方式, 携带了那些请求头 然后得到数据
(通过开发者工具进行抓包分析)
*** 我们分析数据, 是分析服务器返回数据, 而不是元素面板
# elements
是元素面板 前端代码渲染之后的内容
import requests # 数据请求模块 第三方模块 pip install requests
import pprint # 格式化输出模块
import csv # csv保存数据
import time
f = open('招聘数据.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'标题',
'地区',
'公司名字',
'薪资',
'学历',
'经验',
'公司标签',
'详情页',
])
csv_writer.writeheader() # 写入表头
for page in range(1, 31):
print(f'------------------------正在爬取第{
page}页-------------------------')
time.sleep(1)
# 1. 发送请求
url = 'https://****/jobs/positionAjax.json?needAddtionalResult=false'
headers = {
'cookie': '你自己的cookie',
'referer': 'https://****/jobs/list_python?labelWords=&fromSearch=true&suginput=',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
}
data = {
'first': 'false',
'pn': page,
'kd': 'python',
'sid': 'bf8ed05047294473875b2c8373df0357'
}
# response 自定义变量 可以自己定义 <Response [200]> 获取服务器给我们响应数据
完整源码、解答+V:pytho8987获取,备注“777”
response = requests.post(url=url, data=data, headers=headers)
# print(response.text) # 获取响应体的文本数据 字符串数据类型