某直聘python岗位 ——Python爬虫
大家好!我是晨晨💓
希望大家多多支持我!
为了感谢每一个关注我的小可爱:💓文章留言“学习”即可获取晨晨精心准备的学习大礼包,都是无偿分享滴💓
最后——如果文章有帮助到你,记得“关注”、“点赞”、“评论”三连哦~
————————————————
过年了,爬爬看python需要什么技能才能有备无患。
大体思路:
- 爬所需信息
- 爬一爬详情页做个可视化词云,看看所需节能
- 做一做数据可视化
所需库:
csv
,保存数据用的selenium
,模拟真人访问网站,因为requests很容易被反爬parsel
和requests
,可以尝试爬详情页random
,随机休眠用的time
,时间模块儿
翻页爬取python岗位信息代码:
翻页爬取python岗位信息代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
import csv
import time
import random
import requests
import parsel
f = open('boss.csv', mode='a', encoding='utf-8-sig', newline='')
csvWriter = csv.DictWriter(f, fieldnames=[
'标题',
'地区',
'薪资',
'经验',
'公司名',
'公司领域',
'福利',
'公司规模',
'详情页',
# '所需技能',
])
csvWriter.writeheader() # 写入头
url = 'https://www.zhipin.com/c100010000/?query=python&ka=sel-city-100010000'
driver = webdriver.Chrome()
driver.get(url=url)
driver.implicitly_wait(10)
driver.maximize_window() # 最大化窗口
# lis = driver.find_elements_by_css_selector('.job-list ul li')
def get_job_details():
lis = driver.find_elements(By.CSS_SELECTOR, '.job-list ul li')
for li in lis:
title = li.find_element(By.CSS_SELECTOR, '.job-name a').text # 标题
area = li.find_element(By.CSS_SELECTOR, '.job-area').text # 地区
salary = li.find_element(By.CSS_SELECTOR, '.job-limit .red').text # 薪资
experience = li.find_element(By.CSS_SELECTOR, '.job-limit p').text # 工作经验
companyName = li.find_element(By.CSS_SELECTOR, '.company-text h3 a').text # 公司名
companyStyle = li.find_element(By.CSS_SELECTOR, '.company-text p a').text # 公司领域
welfare = li.find_element(By.CSS_SELECTOR, '.info-desc').text # 公司福利
peopleInclude = li.find_element(By.CSS_SELECTOR, '.company-text p em').text # 公司规模
detailPage = li.find_element(By.CSS_SELECTOR, '.job-name a').get_attribute('href') # 详情页
# skillsNeed = get_skills_desc(desc_url=detailPage) # 加载窗口
print(title, area, salary, experience, companyName, companyStyle, peopleInclude, detailPage, skillsNeed, sep=' | ')
dit = {
'标题': title,
'地区': area,
'薪资': salary,
'经验': experience,
'公司名': companyName,
'公司领域': companyStyle,
'福利': welfare,
'公司规模': peopleInclude,
'详情页': detailPage,
# '所需技能': skillsNeed,
}
csvWriter.writerow(dit) # 逐行写入
# def get_skills_desc(desc_url):
# # 获取详情页所需技能的函数
# # 加载另一个窗口