Python爬取各大外包网站需求

本文介绍了使用Python进行网络爬虫实战,分别详细阐述了如何通过Xpath、Bs4、PyQuery等方法从一品威客、软件项目交易网、YesPMP和码市四个平台抓取任务数据,包括任务名称、赏金、时间、状态等关键信息。同时,针对不同平台的数据结构,采用不同的解析策略,如正则表达式处理部分信息。最后,对每个平台的数据进行了总结,探讨了各种解析工具的适用场景。


前言

为了更好的掌握数据处理的能力,因而开启Python网络爬虫系列小项目文章。

  • 小项目小需求驱动
  • 总结各种方式
    • 页面源代码返回数据(Xpath、Bs4、PyQuery、正则)
    • 接口返回数据

一、需求

二、分析

一品威客
1、查看网页源代码
2、查找数据
3、获取详情页(赏金、任务要求、需求、状态)

在这里插入图片描述
在这里插入图片描述

软件项目交易网
1、查看网页源码
2、全局搜索数据

在这里插入图片描述
在这里插入图片描述

获取YesPMP平台需求任务
1、查看网页源代码
2、全局搜索数据

在这里插入图片描述
在这里插入图片描述

码市
1、F12抓包即可获取数据
2、构造请求即可获取数据

在这里插入图片描述

三、处理

一品威客
1、任务页任务
2、详情页(处理直接雇佣)
3、获取赏金、任务要求、时间

# -*- encoding:utf-8 -*-
__author__ = "Nick"
__created_date__ = "2022/11/12"


import requests
from bs4 import BeautifulSoup
import re


HEADERS = {
   
   "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36",
           "Content-Type": "text/html; charset=utf-8"}


def get_index_source(url):
    res = requests.request("GET",url=url,headers=HEADERS)
    res.encoding = "utf-8"
    return res.text

# 实例化bs4
def method_bs4(html):
    page = BeautifulSoup(html, "html.parser")
    return page



# 直接雇佣任务
def method_zz(code):
    deal = re.compile(r'<meta name="description" content="(?P<is_direct>.*?)" />',re.S)
    result = deal.finditer(code)
    for i in result:
        check = i.group("is_direct")
        if "直接雇佣任务" in check:
            return True


def get_task_url(html):
    page = method_bs4(html)
    # 通过class属性获取页面的任务div
    div = page.select(".title.marginLeft")
    #
    url_list = {
   
   }
    for _div in div:
        # 获取url
        content_url = _div.find("a")
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值