美文网首页程序员
前程无忧实战项目---Bs4

前程无忧实战项目---Bs4

作者: 部落大圣 | 来源:发表于2018-07-08 20:00 被阅读19次

利用Bs4,爬取前程无忧职位信息。里面才用的是css选择器爬取标签内容
代码如下:

from bs4 import BeautifulSoup
from urllib.request import urlopen
import xlwt


class Bs4_Job( ):
    def __init__(self):
        self.count = 1
        self.f = xlwt.Workbook()  # 创建工作薄
        self.sheet1 = self.f.add_sheet(u'任务列表', cell_overwrite_ok=True)  # 创建工作表
        self.rowTitle = [u'编号', u'职位名', u'公司名', u'工作地点', u'网站']
        for i in range(0, len(self.rowTitle)):
            self.sheet1.write(0, i, self.rowTitle[i])
        self.f.save('bs4_51.xlsx')

    def set_style(self, name, height, bold=False):
        style = xlwt.XFStyle  # 初始化样式
        font = xlwt.Font()  # 创建字体
        font.name = name
        font.bold = bold
        font.colour_index = 2
        font.height = height
        style.font = font
        return style

    def geturl(self):
        for i in range(1,3):
            url = 'https://search.51job.com/list/360000,000000,0000,00,9,99,Java,2,{}.html'.format(i)
            self.getspider(url)

    def getspider(self, url):
        if url is None:
            return None
        try:
            proxies = {
                'http': 'http://125.46.0.62:53281',
            }
            user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0'
            headers = {'User-Agent':user_agent}
            soup = BeautifulSoup(urlopen(url), 'lxml')
            results = soup.select('.dw_table > .el')[1:]
            for li in results:
                data = []
                title = li.select('p.t1 > span > a')
                company = li.select('span.t2 > a')
                work = li.select('span.t3 ')
                href = li.select('span.t2 > a')
                title = title[0].string if len(title) > 0 else ' '
                company = company[0].string if len(company) > 0 else ' '
                work = work[0].string if len(work) > 0 else ' '
                href = href[0].attrs['href'] if len(href) > 0 else ' '
                print(title.strip(), company.strip(), work.strip(),href)

                if title.strip()and company.strip()and work.strip()and href:
                    data.append(self.count)
                    data.append(title.strip())
                    data.append(company)
                    data.append(work)
                    data.append(href)
                    self.count += 1
                    for i in range(len(data)):
                        self.sheet1.write(data[0], i ,data[i])
                        self.f.save('bs4_51.xlsx')
        except:
            print('出错!')


if '_main_':
    Job = Bs4_Job()
    Job.geturl()

1
2

相关文章

  • 前程无忧实战项目---Bs4

    利用Bs4,爬取前程无忧职位信息。里面才用的是css选择器爬取标签内容代码如下:

  • 项目实战—前程无忧

    上一篇文章,总结了在利用xpath爬取前程无忧职位信息遇到的问题,经过大神@逆水寒的亲自修改。问题完美解决。上完整...

  • 前程无忧python岗位信息爬取和分析

    前程无忧python岗位信息爬取和分析 项目简介 爬取12月14日所有前程无忧中的python岗位信息, 共337...

  • 前程无忧

    今早打卡55.8,我毫无感觉。最近不怎么care体重,有更重要的事情去做。 最近我在前程无忧上找工作,我不想呆在这...

  • 前程无忧

    我本以为我会前程无忧。 很小的时候,我学习很不错,老师都觉得我能考个好大学,将来能有出息。 后来读了初中,学习更好...

  • 前程无忧“病情”加重

    配图来自Canva可画 三、四月份被疫情推迟的求职高峰,在六、七月份到来了。 根据iUserTracker的监测数...

  • 前程无忧直播间 | 周大福专场,高薪+好礼,直播间等你

    名企周大福本周即将走进前程无忧直播间! 前程无忧直播间为大家带来更多名企高薪好职位,还有精美礼品现场抽奖。 周大福...

  • freeCodeCamp 旅途10 - 算法实战

    项目实战:回文检查器 项目实战:罗马数字转换器 项目实战:凯撒密码 项目实战:电话号码验证器 项目实战:收银机

  • 国内主要招聘网站有哪些

    一、传统三大招聘网站:前程无忧,智联招聘,中华英才网 1、前程无忧:www.51job.com,成立于1998年,...

  • 【10】风水

    神秘不传身外人, 身外何处解前程。 前程无忧又何患, 何患不足道己难。

网友评论

    本文标题:前程无忧实战项目---Bs4

    本文链接:https://www.haomeiwen.com/subject/yktauftx.html