大数据项目开发实训
一、总体设计
爬取招聘网站前程无忧:
爬取字段:职位名称、薪资水平、招聘单位、工作地点、工作经验、学历要求、工作内容(岗位职责)、任职要求(技能 要求)。
将爬取的数据存储到hdfs中,将爬取的数据进行分析与可视化
二、1.CSV爬虫结构
import requests
import scrapy
import re
from scrapy import Request
from scrapy.http.response import Response
from qcwy.jobSpider.jobSpider.items import JobspiderItem
class JobSpider(scrapy.Spider):
# 职务名称
work_titles = ['数据分析', '数据采集', '大数据开发工程师']
# 城市代码:[北京,成都,上海,深圳,广州]
citys = ['010000', '090200', '020000', '040000', '030200']
# 爬虫信息
name = 'job'
allowed_domains = ['51job.com']
start_urls = []
def start_requests(self):
# 获取城市代码
for city in self.citys:
for work_title in self.work_titles:
# 组合页面链接以获得每个城市中每个职务的第一页招聘信息
self.start_urls.append(f'https://search.51job.com/list/{city},000000,0000,00,9,99,{work_title},2,1.html')
# 获取职务的页数
for url in self.start_urls:
# 获取该职务的第一页
r = requests.get(url=url,
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
)
# 设置编码
r.encoding = r.apparent_encoding
# 获取总页数
page_sum =