- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[python爬⾍学习]项⽬1-爬取51job职位数据多线程、多进程、pymysql、10万条
数据
有关openpyxl的使⽤请看: .
wenhaha 的⽂章⽬录
1.直接上代码,然后咱们⼀步⼀步优化
import requests
from re import findall
from json import loads
import time
import os
import openpyxl
def get_one_page(page, city_code=000000):
headers = {
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
}
url = f/list/{city_code},000000,0000,00,9,99,数据分析,2,{page}.html?lang=cpostchannel=0000workyear=99cotype=99degr
eefrom=99jobterm=99companysize=99ord_field=0dibiaoid=0line=welfare=
response = requests.get(url, headers=headers)
if response.status_code == 200:
json_data = findall(rwindow.__SEARCH_RESULT__\s*=\s*(\{.+?\})/script, response.text)[0]
return loads(json_data)[engine_search_result]
else:
print(请求失败!)
def get_all_data():
all_data = []
for page in range(1, 11):
result = get_one_page(page)
if not result :
print(没有更多数据)
break
#保存到excel⽂件中
save_page_data(result)
print(f获取第{page}页数据成功!)
time.sleep(1)
def get_work_book():
判断⽂件是否存在 存在就加载,不存在就创建
# 1. ,
if os.path.exists(files/招聘信息.xlsx):
wb = openpyxl.load_workbook(files/招聘信息.xlsx)
else:
wb = openpyxl.Workbook()
# 2.判断是否存在数据分析的表
names = wb .sheetnames
if 数据分析 in names:
sheet = wb[数据分析]
else:
sheet = wb .create_sheet(数据分析)
titles = [岗位名称, 薪资, 公司名称, 公司性质, 公司地址, 要求, 福利]
for col in range(1, len(titles) + 1):
sheet.cell(1, col).value = titles[col - 1]
return wb , sheet
def save_page_data(data: list):
row = sheet.max_row + 1
for job in data :
#写⼊对应的数据
岗位名称 薪资 公司名称 公司性质 公司地址 要求 福利
# titles = [ , , , , , , ]
job_info = [
job.get(jo
您可能关注的文档
最近下载
- 商标知识产权保护课件.pptx VIP
- 《内科学》名词解释与简答题.doc VIP
- 油菜生产技术培训课件(共-83张).ppt VIP
- 2023年智能装备系统与核工业机器人行业分析.pptx VIP
- 全国基层卫生技能竞赛题库基础公卫部分 中医药.pdf VIP
- 【北师大版】心理健康二年级上册 第4课 如果我是他 课件.pptx VIP
- Unit 3 What’s the weather like第4课时 Fuel up(教学设计)英语外研版三起四年级上册2025.pdf
- 2025秋初中历史与八年级上册上课课件 第8课 中国同盟会.pptx
- 糖尿病酮症酸中毒.pptx VIP
- 幼儿园 警察局的一天-绘本课件.ppt VIP
文档评论(0)