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

使用BeautifulSoup爬取Indeed职位标题时混入new标识如何解决

问题根因

原代码中item.find('span')会匹配容器下第一个span标签,而Indeed的新职位标识"new"本身就是用span标签渲染的,所以会优先抓取到这个不需要的内容。

解决方法

推荐通过匹配span标签的属性特征过滤,Indeed的职位标题span都自带title属性,直接匹配带有该属性的span即可,稳定性更高,修改后的transform函数代码如下:

def transform(soup):
  results = soup.find_all('div',class_='slider_container')
  for item in results:
    # 匹配带有title属性的span标签,即为职位标题
    job_title = item.find('span', title=True).text.strip()
    print(job_title)

也可以通过文本过滤的方式实现,直接跳过内容为"new"的结果:

def transform(soup):
  results = soup.find_all('div',class_='slider_container')
  for item in results:
    job_title = item.find('span').text.strip()
    # 过滤new标识
    if job_title != 'new':
        print(job_title)

两种方案都可以输出你需要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:18:04