• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用python抓取求职网站信息

python 搞代码 4年前 (2022-01-09) 26次浏览 已收录 0个评论

这篇文章介绍用python抓取求职网站信息

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

python版本: python3.5。

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

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

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

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

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

最后效果如下:

实现代码如下:信息爬

本文来源gaodai.ma#com搞##代!^码@网3

取的代码如下:

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

以上就是用python抓取求职网站信息的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用python抓取求职网站信息

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址