日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

智联招聘python岗位_Python爬虫爬取智联招聘职位信息

發布時間:2024/9/3 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 智联招聘python岗位_Python爬虫爬取智联招聘职位信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

import urllib2

import re

import xlwt

'''遇到不懂的問題?Python學習交流群:821460695滿足你的需求,資料都已經上傳群文件,可以自行下載!'''

class ZLZP(object):

def __init__(self,workname,citys):

# 記錄查找工作名稱

self.workname = workname

# 基礎URL地址

self.url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?'

# 工作名稱

args = 'kw=%s&jl='%workname

# 工作地點

for city in citys:

# 判斷城市是否為最后一個

if city == citys[-1]:

args += city

else:

args += city

args += '%2B'

# kw=python&jl=北京%2B上海%2B南京%2B廣州%2B深圳

# 拼接完整的url地址

self.url += args

self.headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0'

}

# 根據頁碼獲取某一頁HTML源代碼

def get_page(self,pageNum):

# 1.根據頁碼拼接完整的url地址

getUrl = self.url + '&p=%s'%pageNum

# 2.創建request對象

request = urllib2.Request(getUrl,headers=self.headers)

try:

response = urllib2.urlopen(request)

except Exception ,e:

print '獲取第%s頁數據失敗,原因%s'%(pageNum,e)

return None

else:

return response.read()

# 從html代碼中提取總職位數

def get_total(self,html):

# 1.準備正則表達式

pattern = re.compile(r'(.*?).*?

(.*?)(.*?)',re.S)

# 2.從html源代碼中搜索

results = re.findall(pattern,html)

# 3.去除數據中標簽

rs_data = []

for rs in results:

remove_b = re.compile(r'<.>',re.S)

name = re.sub(remove_b,'',rs[0])

rs_tp = (name,rs[1],rs[2],rs[3])

rs_data.append(rs_tp)

return rs_data

# 開始爬蟲函數

def start(self):

# 1.獲取第一頁查詢職位的HTML源代碼

html = self.get_page(1)

if html == None:

return

# 2.從html源代碼中提取總職位數

self.get_total(html)

# 3.for循環循環總頁數次(循環10次)

# 創建workbook對象

workbook = xlwt.Workbook(encoding='utf-8')

print type(self.workname)

# unicode 將一個str類型的字符串轉換為unicode字符

# 中文編碼格式GBK,

print type(unicode(self.workname,encoding='utf-8'))

name = u'智聯表'+unicode(self.workname,encoding='utf-8')

print type(name)

sheet = workbook.add_sheet(name)

sheet.write(0,0,'職位名稱')

sheet.write(0,1,'公司名稱')

sheet.write(0,2,'職位月薪')

sheet.write(0,3,'工作地點')

# count 記錄當前的行號

count = 1

for x in range(1,11):

# 1.根據頁碼獲取該頁的HTML源代碼

print '正在寫入第%s頁數據....'%x

html = self.get_page(x)

if html == None:

continue

# 2.從html源代碼中提取數據

rs_data = self.get_data(html)

# 3.寫入本地文件

for rs in rs_data:

sheet.write(count,0,rs[0])

sheet.write(count,1,rs[1])

sheet.write(count,2,rs[2])

sheet.write(count,3,rs[3])

count+=1

# 保存文件

print type(self.workname)

filename = u'智聯%s職位信息.xls'%unicode(self.workname,encoding='utf-8')

workbook.save(filename)

'''Python3之前:要存儲到本地的數據,保證是UTF-8編碼要在Python中使用的字符,保證是Unicode類型的字符unicode(self.workname,encoding='utf-8')字符串類型 str 輸入的文本內容、''或""包裹的文本'''

if __name__ == '__main__':

workname = raw_input('請輸入要查詢的工作名稱:')

# 存放工作城市

citys = []

# 只要城市小于5個,繼續輸入城市

while len(citys) < 5:

city = raw_input('請輸入意向城市,最多輸入5個,輸入0結束:')

if city == '0':

break

citys.append(city)

zlzp = ZLZP(workname,citys)

zlzp.start()

總結

以上是生活随笔為你收集整理的智联招聘python岗位_Python爬虫爬取智联招聘职位信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。