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

Python爬取Reed.co.uk职位无返回结果且无报错,如何排查解决?

Reed.co.uk 爬虫无返回数据修复方案

核心问题原因

  • requests请求参数错误:requests.get() 第二个位置参数为查询参数params,直接传入headers会导致请求头不生效,需要显式指定关键字参数headers=headers
  • 类名匹配错误:定位职位列表的article类名写为'job-result '携带多余尾部空格,实际页面类名无多余空格,导致无法匹配到任何节点
  • 元素未提取文本:直接存储了BeautifulSoup的标签对象,没有提取纯文本内容,最终输出的csv会包含冗余标签代码
  • 翻页逻辑失效:循环遍历页码时,没有将页码参数拼入请求URL,所有请求都返回第一页内容

修复后可运行代码

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 拉取指定页码的页面内容
def extract(page):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'}
    # 拼接页码参数
    url = f'https://www.reed.co.uk/jobs/warehouse-operative-jobs-in-portsmouth?pageno={page}'
    # 显式指定headers参数
    r = requests.get(url, headers=headers)
    soup = BeautifulSoup(r.content, 'html.parser')
    return soup

# 解析职位信息存入列表
def transform(soup):
    # 去掉类名多余空格
    divs = soup.find_all('article', class_ = 'job-result')
    for item in divs:
        # 提取纯文本,加异常处理避免字段缺失报错
        try:
            title = item.find('h3', class_ = 'title').text.strip()
        except:
            title = ''
        try:
            company = item.find('div', class_ = 'posted-by').text.strip()
        except:
            company = ''
        try:
            salary = item.find('div', class_ = 'metadata').text.strip()
        except:
            salary = ''
        try:
            summary = item.find('div', class_ = 'description').text.strip()
        except:
            summary = ''
        
        job = {
            'Title' : title,
            'Company' : company,
            'Salary' : salary,
            'Summary' : summary
        }
        joblist.append(job)
    return

joblist = []

# 遍历1-4页内容
for i in range(1,5):
    print(f'正在拉取第{i}页数据')
    c = extract(i)
    transform(c)

df = pd.DataFrame(joblist)
df.to_csv('jobs.csv', encoding='utf_8_sig') # 指定编码避免Windows端打开csv乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:57:03