前言
为了更好的掌握数据处理的能力,因而开启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")

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

被折叠的 条评论
为什么被折叠?



