python爬取大学生就业分析专科和本科的信息https://edu.jobui.com/major/(上)JSON的存储

一,爬虫步骤
1.导入模块json,requests,lxml
2.url地址
3,请求头
4.get请求 200正常访问
5.解码
6.找到节点
7.创建一个存储所有信息的列表
8.循环遍历li节点
9.创建一个字典来存储每个li的内容
10.找到要爬取的内容将它们存储到字典里面
11.将每个字典存储到列表里面
12.将列表存储到JSON文件里面
13.爬取完成提示

二,爬虫源代码

import json
import requests as r
from lxml import etree

url = 'https://edu.jobui.com/major/'
hea = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                     'AppleWebKit/537.36 (KHTML, like Gecko) '
                     'Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.42'}
rel = r.get(url, headers=hea)
# print(rel)
cenet = rel.content.decode()
# print(cenet)
html = etree.HTML(cenet)
list_ol = html.xpath(".//ol[@class='tblist-list']/li")
list_xx = []
for ol in list_ol:
    d = {}
    zhuany = ol.xpath("a[@class='
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这是一个比较典型的Python虫案例。下面是一个简单的虫代码,你可以根据自己的需求修改和完善它。 ```python import requests from bs4 import BeautifulSoup import pandas as pd # 定义请求头,模拟浏览器请求 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 定义的网页链接 url = 'https://www.jobui.com/cmp?area=%E5%85%A8%E5%9B%BD&jobk=&keyword=&sortField=sortIndex&sortOrder=desc&nPostCode=000000&nIndustry%5B0%5D=0&nSalaryBegin=-1&nSalaryEnd=-1&nEducation%5B0%5D=0&nFeature=-1&nPageIndex={}' # 定义存储结果的列表 result_list = [] # 循环网页数据 for i in range(1, 11): # 发送请求并获响应 response = requests.get(url.format(i), headers=headers) # 解析响应内容 soup = BeautifulSoup(response.text, 'html.parser') job_list = soup.find_all('div', class_='job-simple-content') # 提所需信息 for job in job_list: job_id = job['data-jobid'] job_title = job.find('div', class_='job-name').text.strip() job_salary = job.find('span', class_='job-pay').text.strip() job_company = job.find('div', class_='company-name-text').text.strip() job_education = job.find('span', class_='job-require').find_all('li')[1].text.strip() job_type = job.find('span', class_='job-require').find_all('li')[2].text.strip() job_location = job.find('span', class_='job-addr').text.strip() job_time = job.find('span', class_='job-pub-time').text.strip() # 将结果存入列表 result_list.append([job_id, job_company, job_education, job_type, job_title, job_salary, job_time, '', '', '', '', '', job_location, '']) # 将结果转化为DataFrame并写入文件 df = pd.DataFrame(result_list, columns=['编号', '公司名称', '学历要求', '工作类型', '工作名称', '薪资', '发布时间', '截止时间', '城市编码', '公司规模', '福利', '岗位职责', '地区', '工作经验']) df.to_csv('jobui.csv', index=False) ``` 这个代码的逻辑为: 1. 定义请求头,模拟浏览器请求; 2. 定义的网页链接; 3. 定义存储结果的列表; 4. 循环网页数据,发送请求并获响应,解析响应内容,提所需信息,并将结果存入列表; 5. 将列表转化为DataFrame,并写入文件。 这里使用了requests库和BeautifulSoup库来进行网页数据的获和解析,使用pandas库来进行数据的处理和存储。你可以根据需要自行修改和调整代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值