首页 > 编程语言 >python爬取智联招聘信息_F_hawk189_新浪博客

python爬取智联招聘信息_F_hawk189_新浪博客

时间:2022-11-16 12:05:15浏览次数:65  
标签:info python hawk189 work findall response re 智联 company


分享今天写的一个爬取智联招聘信息的爬虫,使用了requests和re模块,没有写注释,但是代码都比较简单,不是太难,

这是爬取的信息: ​​​​​​

以下是源码部分:复制过来又没有缩进,大家自行缩进,逻辑比较简单

# -*- coding: utf-8 -*-
import requests
import re
from itertools import izip
from json import dumps
from urllib import quote

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/62.0.3202.89 Safari/537.36',
}


def write_file(all_info):

fp = open('info.json', 'a')
for info in all_info:

fp.write(dumps(info, encoding='utf-8', ensure_ascii=False, sort_keys=False, indent=4))

fp.write('\n')

fp.close()


def get_html(work, where, page_num=1):

where = quote(where) # 北京
work = quote(work)

url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%s&kw=%s&sm=0&p=%s' % (where, work, page_num)

response = requests.get(url, headers=headers).text
return response


def get_info(response):

one_work_info = dict()

salary = re.findall(r'


(.*?)

', response)

work_locate = re.findall(r'


(.*?)

', response)

company = re.findall(r'


​​(.*?)​​


', response)

work_name = re.findall(r'(.*?)', response)

work_paticuler_info = re.findall(r'', response)

company_info = re.findall(r'


​​', response)

for salary, locate, company, work, work_info, company_info in \

izip(salary, work_locate, company, work_name, work_paticuler_info, company_info):

one_work_info['salary'] = salary

one_work_info['work_locate'] = locate

one_work_info['company'] = re.sub(r'<.*?>', '', company)

one_work_info['work_name'] = re.sub(r'<.*?>', '', work)

one_work_info['work_paticuler_info'] = work_info

one_work_info['company_info'] = company_info

yield one_work_info



def run():

work = raw_input(u"请输入你想要查询的工作:")

where = raw_input(u"请输入你要查询的工作地点:")

html = get_html(work, where)

work_info = get_info(html)

write_file(work_info)



if __name__ == '__main__':

run()

​​

标签:info,python,hawk189,work,findall,response,re,智联,company
From: https://blog.51cto.com/u_15858333/5855716

相关文章

  • python中同时迭代对个iterable对象_F_hawk189_新浪博客
    题外话:最近因为课程需要开始深入了解Python语言。因为以前一直用的Java、C++等强类型的静态语言,现在突然使用Python确实感受到了很大的不同。直观感觉就是,在Python中总是......
  • QT客户端与Java服务端进行https通信_F_hawk189_新浪博客
    网上也有一部分教程,不过我还是踩了许多的坑,所以整理了一下网上看到的和自己的一些收获。首先:,Tomcat.truststore(包含信任库),首先说明一下这个两个文件   cl......
  • virtviewerUsbredirUSB重定向_F_hawk189_新浪博客
    编译virtviewer之前执行的configure命令,是没有使能usb-redir相关的功能,virtviewer是否支持usbredir是完全依赖于spice-gtk的。virtviewer对spice-gtk的依赖关系,可以从vi......
  • PYTHON_取数
    分模块积累,此模块为【取数】,技巧多,偏灵活。1. 有n个小朋友围在一起玩游戏,游戏规则是这样的:每一轮每个小朋友都自由地从1-99中选择一个数,主持人每一轮都会报一个1-9......
  • Python代码片段
    1记录函数执行耗时1deftimeToRunWithParams(level,param_idx_lst):2definner(func):3defwrapper(*args,**kwargs):4s_date=......
  • Python stylecloud制作酷炫的词云图
    这周参加一个创新培训,结束后有个答辩需要制作ppt,为了更好的展示内容,想到用词云图。本文分享一下如何基于Python的stylecloud制作酷炫的词云图。stylecloud是wordcloud优化改......
  • Python面向对象---类的基本使用
    ​✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Python绘制精美可视化数据分析图表(一)-Matplotlib
    前言数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程.这一过程也是质量管理体系的支持过程.在实......
  • Python基础之注释、变量、Debug调试、数据类型
    一、注释注释的作⽤⽤⼈类熟悉的语⾔对代码进⾏解释说明,⽅便后期维护。注释分为两类:单⾏注释和多⾏注释。1、单⾏注释只能注释⼀⾏内容,语法如下:#注释内容2、多⾏注释可以......
  • 【排序算法】python 十大经典排序算法(全网最详)
    排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排......