SSSAK 2020-03-25 17:56 采纳率: 50%
浏览 318
已结题

请求各位大神指出下面一段python爬虫代码的问题:

我想在24365官网上爬取招聘信息中的岗位名称和公司名称到EXCEL表格中,但运行代码后表格里只有标题,没有内容,要爬取的网站如图所示:

图片说明

网址:https://job.ncss.cn/student/jobs/index.html?server=true&jobName=%E5%AE%89%E5%85%A8&areaCode=&degreeCode=&monthPay=&areasName=%E5%85%A8%E5%9B%BD
代码如下:

import urllib.request,traceback

import re
import xlwt #用来创建excel文档并写入数据

def get_content(page):

 url = 'https://job.ncss.cn/student/jobs/index.html?server=true&jobName=%E5%AE%89%E5%85%A8&areaCode=&degreeCode=&monthPay=&areasName=%E5%85%A8%E5%9B%BD'+str(page)+'.html'
a = urllib.request.urlopen(url)#打开网址
html = a.read().decode('utf-8')#读取源代码并转为unicode
return html

def get(html):

        reg = re.compile(r'class="company-name" .*?>(.*?)</span>.*?<span>(.*?)</span>',re.S)#匹配换行符,设置正则表达式
    items = re.findall(reg,html)
    return items

def excel_write(items,index):
#爬取到的内容写入excel表格
for item in items:#职位信息
for i in range(0,2):
#print item[i]
ws.write(index,i,item[i])#行,列,数据
print(index)
index+=1
newTable="test2.xls"#表格名称

wb = xlwt.Workbook(encoding='utf-8')#创建excel文件,声明编码

ws = wb.add_sheet('sheet1')#创建表格

headData = ['公司','类型']#表头部信息

for colnum in range(0,2):

    ws.write(0, colnum, headData[colnum], xlwt.easyxf('font: bold on'))  # 行,列 

for each in range(1,10):

    index=(each-1)*50+1
excel_write(get(get_content(each)),index)

wb.save(newTable)

该网站爬取内容所需的审查元素在下图的蓝色位置:
图片说明

审查元素具体内容如下:
图片说明

  • 写回答

2条回答 默认 最新

  • Italink 2020-03-25 20:43
    关注

    这个网页是动态加载的,你要获取内容,需要找到它获取内容的请求
    图片说明
    图片说明

    使用requests库写了一个简单的代码,你也可以用requests库来写爬虫,比urllib简单太多了,我当初也是踩了urllib的坑,用pip安装一下就可以了

    import requests
    url="https://job.ncss.cn/student/jobs/jobslist/ajax/"
    params={
    "jobName": "安全",        #搜索关键字
    "offset": "1",            #偏移,应该就是页码
    "limit": "10",            #每页的个数
    }
    req=requests.get(url,params).json();    #这里得到一个解析json之后得到一个字典对象
    for it in req['data']['list']:          #可以先监视查看一下结构,输出即可
        print(it);
    

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?