环境:

windows7,python3.4

代码:(亲测可正常执行)

 import requests
from bs4 import BeautifulSoup
from math import ceil header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'} # 获取岗位页数
def getJobPage(url):
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解决乱码问题
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
# 获取岗位总数,< span class ="lightblue total" > 512 < / span >
totalJob = soup.select('span[class="lightblue total"]')[0].text
jobPage = ceil(int(totalJob) / 10)
return jobPage def getJobOrder(url):
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解决乱码问题
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
# 工作职责
jobRequests = soup.select('ul[class="squareli"]')[0].text
# 工作要求
jobOrder = soup.select('ul[class="squareli"]')[1].text
return jobRequests, jobOrder # 获取岗位信息
def getJobInfo(url):
myfile = open("tencent_job.txt", "a", encoding='gb18030', errors='ignore') # 解决乱码问题
ret = requests.get(url, headers=header)
ret.encoding = "utf-8" # 解决乱码问题
html = ret.text
soup = BeautifulSoup(html, 'html.parser')
jobList = soup.find_all('tr', class_=['even', 'odd'])
for job in jobList:
# url
jobUrl = "https://hr.tencent.com/" + job.select('td:nth-of-type(1) > a')[0]['href']
# 职位名称
jobName = job.select('td:nth-of-type(1) > a')[0].text
# 人数
jobPeople = job.select('td:nth-of-type(3)')[0].text
# 地点
jobAddre = job.select('td:nth-of-type(4)')[0].text
# 发布时间
jobTime = job.select('td:nth-of-type(5)')[0].text
# 工作职责
jobRequests = getJobOrder(jobUrl)[0]
# 工作要求
jobOrder = getJobOrder(jobUrl)[1] #print(jobName, jobUrl, jobAddre, jobPeople, jobTime, jobRequests, jobOrder) tt = jobName + " " + jobUrl + " " + jobAddre + " " + jobPeople + " " + jobTime + " " + jobRequests + " " + jobOrder
myfile.write(tt + "\n") if __name__ == '__main__':
mainurl = 'https://hr.tencent.com/position.php?keywords=python'
jobPage = getJobPage(mainurl)
print(jobPage)
for page in range(jobPage):
pageUrl = 'https://hr.tencent.com/position.php?keywords=python&start=' + str(page * 10) + '#a'
print("第" + str(page + 1) + "页")
getJobInfo(pageUrl)

python爬虫爬取腾讯招聘信息 (静态爬虫)的更多相关文章

  1. node.js 89行爬虫爬取智联招聘信息

    写在前面的话, .......写个P,直接上效果图.附上源码地址  github/lonhon ok,正文开始,先列出用到的和require的东西: node.js,这个是必须的 request,然发 ...

  2. 用Python爬取智联招聘信息做职业规划

    上学期在实验室发表时写了一个爬取智联招牌信息的爬虫. 操作流程大致分为:信息爬取——数据结构化——存入数据库——所需技能等分词统计——数据可视化 1.数据爬取 job = "通信工程师&qu ...

  3. 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息

    简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 系统环境:Fedora22(昨天已安装scrapy环境) 爬取的开始URL:ht ...

  4. Python 爬取腾讯招聘职位详情 2019/12/4有效

    我爬取的是Python相关职位,先po上代码,(PS:本人小白,这是跟着B站教学视频学习后,老师留的作业,因为腾讯招聘的网站变动比较大,老师的代码已经无法运行,所以po上),一些想法和过程在后面. f ...

  5. 使用python scrapy爬取知乎提问信息

    前文介绍了python的scrapy爬虫框架和登录知乎的方法. 这里介绍如何爬取知乎的问题信息,并保存到mysql数据库中. 首先,看一下我要爬取哪些内容: 如下图所示,我要爬取一个问题的6个信息: ...

  6. Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

  7. Python+selenium爬取智联招聘的职位信息

    整个爬虫是基于selenium和Python来运行的,运行需要的包 mysql,matplotlib,selenium 需要安装selenium火狐浏览器驱动,百度的搜寻. 整个爬虫是模块化组织的,不 ...

  8. Python写网络爬虫爬取腾讯新闻内容

    最近学了一段时间的Python,想写个爬虫,去网上找了找,然后参考了一下自己写了一个爬取给定页面的爬虫. Python的第三方库特别强大,提供了两个比较强大的库,一个requests, 另外一个Bea ...

  9. python之scrapy爬取某集团招聘信息以及招聘详情

    1.定义爬取的字段items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See do ...

随机推荐

  1. TList实现的任务队列

    TList实现的任务队列 var g_tasks: TList; type PTRecvPack = ^TRecvPack; TRecvPack = record // 接收到的原数据 socket: ...

  2. FDMemTable的详细使用方法

    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...

  3. js:简单的拖动效果

    效果演示:https://jsfiddle.net/dwqs/b5ywws9f/embedded/result/ html: <div class="wrap"> &l ...

  4. 负载均衡之基于DNS负载

    基于DNS的负载平衡 OK,在了解了负载平衡系统的大致组成及使用方式之后.我们就来看看各种负载解决方式. 当前业界中所最常使用的负载平衡解决方式主要分为三种:基于DNS的负载平衡,L3/4负载平衡,也 ...

  5. Fp关联规则算法计算置信度及MapReduce实现思路

    说明:參考Mahout FP算法相关相关源代码. 算法project能够在FP关联规则计算置信度下载:(仅仅是单机版的实现,并没有MapReduce的代码) 使用FP关联规则算法计算置信度基于以下的思 ...

  6. 打造极致性能数据库中间件丨LVS+Keepalive+华为云DDM之理论篇

    背景说明 华为云分布式数据库中间件(Distributed Database Middleware,简称DDM),专注于解决数据库分布式扩展问题,突破了传统数据库的容量和性能瓶颈,实现海量数据高并发访 ...

  7. ReLu(修正线性单元)、sigmoid和tahh的比较

    不多说,直接上干货! 最近,在看论文,提及到这个修正线性单元(Rectified linear unit,ReLU). Deep Sparse Rectifier Neural Networks Re ...

  8. Codeforces 768 E. Game of Stones 博弈DP

    E. Game of Stones   Sam has been teaching Jon the Game of Stones to sharpen his mind and help him de ...

  9. POJ 3104 Drying (二分+精度)

    题目链接:click here~~ [题目大意]: 题意:有一些衣服,每件衣服有一定水量,有一个烘干机,每次能够烘一件衣服,每分钟能够烘掉k单位水. 每件衣服没分钟能够自己主动蒸发掉一单位水, 用烘干 ...

  10. Managing SQLite Database

    Approach #1: Use a Singleton to Instantiate the SQLiteOpenHelper Declare your database helper as a s ...