You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手爬虫问题:爬取Wuzzuf职位经验需求遇User-Agent限制及反爬困惑

爬虫问题解答

一、无User-Agent无法爬取的原因

  • 多数网站会通过校验请求头里的User-Agent字段识别请求来源:
    • 不带User-Agent的请求会被判定为非浏览器发起的自动化请求(比如爬虫),网站为避免被恶意爬取,会直接拒绝这类请求或返回空白内容。
    • 正常浏览器访问时会自动携带User-Agent,标识自身浏览器类型与版本,网站会判定为合法用户访问,允许获取内容。

二、当前代码逻辑优化

你当前代码定位的div.css-rcl8e5并非目标数据所在标签,目标“Experience Needed”内容在span.css-4xky9y里,可调整定位逻辑:

import requests
from bs4 import BeautifulSoup

# 目标职位链接
link = "https://wuzzuf.net/jobs/p/OlVbxLtwTToL-Senior-IT-Specialist-Orient-Qalubia-Egypt"
HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
    'Accept-Language': 'en-US,en;q=0.5'
}

src = requests.get(link, headers=HEADERS)
soup = BeautifulSoup(src.content, "lxml")

# 精准定位Experience Needed内容
exp_label = soup.find("div", string="Experience Needed")
if exp_label:
    experience_text = exp_label.find_next_sibling("div").find("span", class_="css-4xky9y").text.strip()
    print(experience_text)
else:
    print("未找到Experience Needed字段")

三、绕过“我不是机器人”验证的方法

  • 用浏览器自动化工具:比如Selenium、Playwright,这类工具模拟真实浏览器操作,能处理滑块等简单验证码,注意控制请求频率,模拟人类操作节奏。
  • 使用代理IP:分散请求来源,降低单IP请求频率,避免被网站识别封禁。
  • 遵守robots协议:查看网站/robots.txt文件,只爬取允许的内容,减少触发反爬的概率。
  • 添加请求延迟:在请求之间设置随机延迟(比如1-3秒),模拟人类浏览间隔。

内容的提问来源于stack exchange,提问作者Mo Wael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:53:36