趕集網招聘資訊資料分析與視覺化

2021-08-10 19:52:31 字數 1968 閱讀 1330

提取頁面中我們所需的資訊,公司名稱、薪資待遇、工作地點、工作經驗、最低學歷、招聘人數、公司規模,然後結構化輸出到txt檔案中,以備之後的分析使用。

#! /usr/bin/env python3

# -*- coding:utf-8 -*-

from urllib.request import request

import string

import urllib

import lxml.html

def gethtml(url):

url = urllib.parse.quote(url, safe=string.printable)

req = request(url, headers=headers)

page = urllib.request.urlopen(req)

html = page.read()

return html

def getimg(html):

flag = 0

tree = lxml.html.fromstring(html)

src0 = tree.xpath('//div[@class="s-btop s-bb1 "]//p/text()')

src1 = tree.xpath('//div[@class="s-butt s-bb1"]//li[1]/text()')

src2 = tree.xpath('//div[@class="s-butt s-bb1"]//li[2]/text()')

src3 = tree.xpath('//div[@class="s-butt s-bb1"]//li[3]/text()')

src4 = tree.xpath('//div[@class="s-butt s-bb1"]//li[4]/text()')

src5 = tree.xpath('//div[@class="s-butt s-bb1"]//li[5]/text()')

src6 = tree.xpath('//div[@class="s-butt s-bb1"]//li[6]/text()')

while flag < len(src0):

with open('ganji_info.txt', 'ab') as jb:

jb.write(src0[flag].encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src1[flag].strip().encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src2[flag].encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src3[flag].encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src4[flag].encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src5[flag].encode('utf8'))

jb.write("\t".encode('utf8'))

jb.write(src6[flag].encode('utf8'))

jb.write("\r\n".encode('utf8'))

flag += 1

if __name__ == '__main__':

str = ""

pn = 1

while pn <= 300: # 爬取300頁

print('爬取第', pn, '頁')

url = str.format(pn)

html = gethtml(url)

getimg(html)

pn += 1

print('爬取完成')

資料分析與視覺化

1.pip包管理 1 內建庫 包 庫 別人寫好的 直接引用,加快開發效率。內建包 python直譯器內建常用功能庫。直譯器安裝目錄 lib資料夾下,os time urllib等 資料夾裡有 init py 就成了乙個包。2 關於http模擬和html源 解析 python時代 urllib url...

招聘資料採集 Hive資料分析 資料視覺化

背景描述 近年來隨著it產業的快速發展,全國各地對it 類的人才需求數量也在不斷 增多,xhs集團 為了明確今後it產業人才培養方向,在多個省份進行 it公 司崗位情況調研分析。你所在的小組將承擔模擬調研分析的任務,通過在招聘 進行招聘資訊的爬取,獲取到公司名稱 工作地點 崗位名稱 招聘要求 招聘人...

資料分析與視覺化(python)

print 中 encode encoding gbk b xd6 xd0 gbk編碼 乙個漢字兩個位元組 為了節省流量 國內有人仍堅持gbk 中 encode encoding utf 8 對於中文,gbk比utf8節省三分之一的空間 解碼 二進位制 自然資訊 eg b xd6 xd0 decod...