美文网首页
Python 学习——每天写点小东西-3

Python 学习——每天写点小东西-3

作者: 盐巴有点咸 | 来源:发表于2016-06-17 16:45 被阅读0次

今天写的爬虫是为了抓去拉钩网上面的招聘信息,代码如下:

from bs4 import BeautifulSoup
import requests
import time


def get_jobs_id(content):
    ids_list = []
    for value in content:
        ids_list.append(value['positionId'])
    return ids_list


def get_links(content):
    link_list = []
    ids_list = get_jobs_id(content)
    for item in ids_list:
        link = 'http://www.lagou.com/jobs/' + str(item) + '.html'
        link_list.append(link)
    return link_list


def get_jobs_info(content):
    link_list = get_links(content)
    data_list = []
    for link in link_list:
        time.sleep(1)
        url = requests.get(link)
        soup = BeautifulSoup(url.text, 'lxml')
        company_names = soup.select('dt > h1 > div')
        moneys = soup.select('dd.job_request')
        details = soup.select('dd.job_bt')
        addrs = soup.select('div.work_addr')
        for company, money, detail, addr in zip(company_names, moneys, details, addrs):
            data = {
                'company': ''.join(company.get_text().split()),
                'money': ','.join(money.get_text().split()),
                'detail': ''.join(detail.get_text().split()),
                'addr': ''.join(addr.get_text().split())
            }
        data_list.append(data)
    return data_list


url = 'http://www.lagou.com/jobs/positionAjax.json'
page_number = 1

while page_number <= 3:
    post_data = {'first': 'true', 'kd': '运维工程师', 'pn': '1', 'city': '成都'}

    post_data.update({'pn': str(page_number)})

    r = requests.post(url, data=post_data)

    contents = r.json()['content']['positionResult']['result']

    jobs = get_jobs_info(contents)

    print(jobs)

    page_number += 1

思路:
在fire-bug下面发现搜索职业后会从浏览器上传了几个参数到拉勾的服务器一个是 first =true, 一个是kd = android, (关键字) 一个是pn =1 (page number 页码

这样就获得了json数据,数据中有一个positionId是招聘具体信息的id,这样就获得了具体的url链接,然后访问链接获得具体信息。

执行效率不高,希望后续能够修改!

相关文章

  • Python 学习——每天写点小东西-3

    今天写的爬虫是为了抓去拉钩网上面的招聘信息,代码如下: 思路:在fire-bug下面发现搜索职业后会从浏览器上传了...

  • Python 学习——每天写点小东西-6

    今天的爬虫是爬取某网站的所有链接,涉及到了MongoDB及其简单的操作,和多线程,虽然爬取的数据简单,但是能爬取这...

  • Python 学习——每天写点小东西-1

    最近开始学习python,这里就作为学习记录,记录自己的python之路。本条爬虫爬取的是糗事百科的24小时热门里...

  • Python 学习——每天写点小东西-4

    今天的爬虫比较简单,就不做详细介绍。爬取的是某网站的租房信息。 自己电脑网速太慢一直爬不完,最后使用AWS主机才爬...

  • Python 学习——每天写点小东西-5

    今天的爬虫是爬取某网站的商品信息,难点在于网页浏览量的爬取,不仅需要伪造Referer,而且浏览量的获取不能直接抓...

  • Python 学习——每天写点小东西-2

    题目来源: github-Yixiaohan 1.使用python生成200个优惠码 2.任一个英文的纯文本文件,...

  • Python 学习——每天写点小东西-7

    最近都没怎么写爬虫,主要是不知道如何能够把爬到的数据利用起来,今天就贴一个简单的爬虫。 爬取的数据不多只有几千条,...

  • 新开始

    几年之后的今天,觉得每天继续写点小东西,全当心里安慰!

  • 写点小东西

    中原焦点中16 坚持分享第1043天 22.4.14运动打卡第269天 1788h 约练618/ 这思绪啊,就在喜...

  • 《每天写点东西》-3

    今天想简单地谈谈自己对人文和技术的看法。 在很长的一段时间里,我是个坚定的技术至上论者。认为人文不过是人民消遣娱乐...

网友评论

      本文标题:Python 学习——每天写点小东西-3

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