Python接外包养无敌可爱的她,每天都随便花~

人生苦短,我用python

女友好不容易放假,她带着我花花花的样子真的很迷人~

python 安装包+资料:点击此处跳转文末名片获取

Python接外包养无敌可爱的她,每天都随便花~_第1张图片

不为什么 我的女友我来宠!

Python接外包养无敌可爱的她,每天都随便花~_第2张图片

作为一个程序员,要有会用自己的技术创造价值的自觉~

今天来给大家展示一下用python采集一下外包网站~

这可是财富道路的第一步啊~

Python接外包养无敌可爱的她,每天都随便花~_第3张图片

环境使用:

  • Python 3.8
  • Pycharm

模块使用:

  • requests >>> pip install requests
  • parsel >>> pip install parsel
  • csv

代码实现步骤:

  1. 发送请求, 对于找到url地址发送请求
  2. 获取数据, 获取服务器返回数据
  3. 解析数据, 提取我们想要数据内容
  4. 保存数据, 保存csv表格里面
  5. 多页数据采集: 分析请求的url变化规律

代码

导入模块

# 导入数据请求模块 导入模块没有使用 灰色待机状态
import requests  # 第三方模块 pip install requests  (别人写好 开源代码,你可以直接去调用)
# 导入数据解析模块
import parsel  # 第三方模块 pip install parsel
# 导入csv模块
import csv  # 内置模块 不需要安装的

完整代码

f = open('data.csv', mode='a', encoding='utf-8', newline='')
# 快速替换 选择替换内容 按住ctrl + R 输入正则
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '招标',
    '浏览人数',
    '竞标人数',
    '招标状态',
    '价格',
    '详情页',
])
csv_writer.writeheader()

# 1. 发送请求, 对于找到url地址发送请求
for page in range(1, 11):
    print(f'正在爬取第{page}页的数据内容')
    url = f'https://task.epwk.com/page{page}.html'  # 确定网址
    # 爬虫模拟(伪装成)浏览器 对于url地址发送请求
    # 反爬 相当于别人给你打电话, 电话显示推销广告
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)  #   200状态码表示 请求成功 不代表得到数据了
    # 2. 获取数据, 获取服务器返回数据
    # print(response.text)   # 返回html字符串数据内容  >>> 提取字符串数据 要使用re正则
    # 3. 解析数据, 提取我们想要数据内容
    selectors = parsel.Selector(response.text)  # 需要转一下数据类型
    # 有了解过css选择器吗?  xpath根据标签节点提取数据, css选择器是根据标签属性提取数据
    # 第一次提取, 获取所有div标签
    divs = selectors.css('.itemblock')  # 列表
    for div in divs:  # for遍历循环
        # 定位有一个class类名字为title的div标签 下面a标签里面 title 属性
        # attr() 属性选择器, 选择某一个标签里面属性内容
        title = div.css('div.title a::attr(title)').get()  # get 返回字符串, 并且取第一个标签数据
        # strip() 去除字符串左右两端空格
        modelName = div.css('div.modelName::text').get().strip()  # 招标
        num = div.css('div.browser div:nth-child(2) span::text').get().strip()  # 浏览人数
        num_1 = div.css('div.browser div:nth-child(3) span::text').get().strip()  # 竞标人数
        status = div.css('span.status::text').get().strip()  # 招标状态
        price = div.css('span.price::text').get().strip()  # 价格
        href = div.css('div.title a::attr(href)').get()  # 详情页
        # 4. 保存数据, 保存到表格数据 字典创建  键:值  >>> 键值对  键值对与键值对之间用 逗号隔开
        # 值 可以是用任何数据类型, 键 大多数情况字符串数据类型 不能以数字
        dit = {
            '标题': title,
            '招标': modelName,
            '浏览人数': num,
            '竞标人数': num_1,
            '招标状态': status,
            '价格': price,
            '详情页': href,
        }
        csv_writer.writerow(dit)
        print(title, modelName, num, num_1, status, price, href)

视频教程【有缘就能看 没缘就算辽】

https://space.bilibili.com/555479228?spm_id_from=…0.0

请添加图片描述
希望大家都可以赚小钱钱~

文章到这里就结束啦~

咱下篇文章再见啦(✿◡‿◡)

请添加图片描述


问题解答 · 源码获取 · 技术交流 · 抱团学习请联系

你可能感兴趣的:(python基础知识,基础知识,Python,python,pycharm,开发语言)