本次抓取的是智联招聘网站搜索“数据分析师”之后的信息。

python版本: python3.5。

我用的主要package是 Beautifulsoup + Requests+csv

另外,我将招聘内容的简单描述也抓取下来了。

文件输出到csv文件后,发现用excel打开时有些乱码,但用文件软件打开(如notepad++)是没有问题的。

为了能用Excel打开时正确显示,我用pandas转换了以下,并添加上列名。转化完后,就可以正确显示了。关于用pandas转化,可以参考我的博客:

由于招聘内容的描述较多,最后将csv文件另存为excel文件,并调整下格式,以便于查看。

最后效果如下:

实现代码如下:信息爬取的代码如下:

 # Code based on Python 3.x
# _*_ coding: utf-8 _*_
# __Author: "LEMON" from bs4 import BeautifulSoup
import requests
import csv def download(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0'}
req = requests.get(url, headers=headers)
return req.text def get_content(html):
soup = BeautifulSoup(html, 'lxml')
body = soup.body
data_main = body.find('div', {'class': 'newlist_list_content'})
tables = data_main.find_all('table') zw_list = []
for i,table in enumerate(tables):
if i == 0:
continue
temp = []
tds = table.find('tr').find_all('td')
zwmc = tds[0].find('a').get_text()
zw_link = tds[0].find('a').get('href')
fkl = tds[1].find('span').get_text()
gsmc = tds[2].find('a').get_text()
zwyx = tds[3].get_text()
gzdd = tds[4].get_text()
gbsj = tds[5].find('span').get_text() tr_brief = table.find('tr', {'class': 'newlist_tr_detail'})
brief = tr_brief.find('li', {'class': 'newlist_deatil_last'}).get_text() temp.append(zwmc)
temp.append(fkl)
temp.append(gsmc)
temp.append(zwyx)
temp.append(gzdd)
temp.append(gbsj)
temp.append(brief)
temp.append(zw_link) zw_list.append(temp)
return zw_list def write_data(data, name):
filename = name
with open(filename, 'a', newline='', encoding='utf-8') as f:
f_csv = csv.writer(f)
f_csv.writerows(data) if __name__ == '__main__': basic_url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%85%A8%E5%9B%BD&kw=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E5%B8%88&sm=0&p=' number_list = list(range(90)) # total number of page is 90
for number in number_list:
num = number + 1
url = basic_url + str(num)
filename = 'zhilian_DA.csv'
html = download(url)
# print(html)
data = get_content(html)
# print(data)
print('start saving page:', num)
write_data(data, filename)

用pandas转化的代码如下:

 # Code based on Python 3.x
# _*_ coding: utf-8 _*_
# __Author: "LEMON" import pandas as pd df = pd.read_csv('zhilian_DA.csv', header=None) df.columns = ['职位名称', '反馈率', '公司名称', '月薪', '工作地点',
'发布日期', '招聘简介', '网页链接'] # 将调整后的dataframe文件输出到新的csv文件
df.to_csv('zhilian_DA_update.csv', index=False)

用python抓取求职网站信息的更多相关文章

  1. 使用python抓取美团商家信息

    抓取美团商家信息 import requests from bs4 import BeautifulSoup import json url = 'http://bj.meituan.com/' ur ...

  2. Python抓取成都房价信息

    Python里scrapy爬虫 scrapy爬虫,正好最近成都房价涨的厉害,于是想着去网上抓抓成都最近的房价情况,顺便了解一下,毕竟咱是成都人,得看看这成都的房子我以后买的起不~ 话不多说,进入正题: ...

  3. 无比强大!Python抓取cssmoban网站的模版并下载

    Python实现抓取http://www.cssmoban.com/cssthemes网站的模版并下载 实现代码 # -*- coding: utf-8 -*- import urlparse imp ...

  4. python爬取电影网站信息

    一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...

  5. python抓取贝壳房源信息

    分析了贝壳的房源信息数据,发现地址链接的参数传递是有规律的 https://tj.ke.com/chengjiao/a3l4/ a3 实际表示的 l4 表示的是 然后 将复合条件拼成一个字符串,带过去 ...

  6. 抓取某网站信息时遇到的问题及解决 The character set provided in ContentType is invalid. Cannot read content as string using an invalid character set

    var response = httpClient.SendAsync(requestMessage).Result; content = response.Content.ReadAsStringA ...

  7. Python爬虫实战---抓取图书馆借阅信息

    Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...

  8. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  9. 用python抓取智联招聘信息并存入excel

    用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的小朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步 ...

随机推荐

  1. Mac下安装cscope和ctags

    Mac下默认没有cscope和ctags,太不爽了,还好可以自己编译一个放进来 一.下载地址 cscope: http://downloads.sourceforge.net/project/csco ...

  2. 用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-l ...

  3. Redis系列四(keepalived+lvs搭建负载均衡)

    1.安装Keepalived(主备服务器都要安装) 10.8.80.218  主服务器 10.8.80.217  备服务器 10.8.80.200  虚拟IP $ wget http://www.ke ...

  4. android 获取适配的bitmap等相关

    获取适配尺寸的图片: File files = new File(imagePath); FileInputStream is = null; BufferedInputStream bis = nu ...

  5. Git学习之路(1)-Git简介

    ▓▓▓▓▓▓ 大致介绍 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds ...

  6. MongoDB基础之六 索引

    一 . 索引概述和基本操作 1. 索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序3. 默认是用btree来组 ...

  7. 计算机 计算机语言 常见的DOS命令

    你好 我是大福 你现在看的是大福笔记 我jie的女儿 8年级 在QQ上问我寒假作业 0度的水和0度的冰哪个更冷 什么? 0度水 0度冰这温度不是一样的么? 不可能 肯定没这么简单 她问的意思是不是手放 ...

  8. Python自然语言处理学习笔记之信息提取步骤&分块(chunking)

    一.信息提取模型 信息提取的步骤共分为五步,原始数据为未经处理的字符串, 第一步:分句,用nltk.sent_tokenize(text)实现,得到一个list of strings 第二步:分词,[ ...

  9. MVC View显示详解(RenderBody,RenderPage,RenderSection,Partial)

    一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合 ...

  10. cli/php.ini和fpm/php.ini的区别

    1. 当从命令行执行PHP binary时,cli/php.ini会被使用,你可以通过在命令行运行php --ini来查看. 2. 当PHP运行做为FPM时,会使用fpm/phh.ini,其中一种情况 ...