Python用5000+条数据为你分析《我不是药神》登顶原因!(附代码)
来源:51CTO技术栈
作者:刘晓明
本文共1400字,建议阅读6分钟。
本文带你爬取豆瓣、猫眼、淘票票等网站上《我不是药神》的信息并用Python进行分析。
《我不是药神》是由文牧野执导,徐峥、王传君、周一围、谭卓、章宇、杨新鸣等主演的喜剧电影,于 2018 年 7 月 6 日在中国上映。
影片在未上映前,大规模的点映积攒了相当高的人气和口碑, 截止 7 月 9 日凌晨:豆瓣评分:9.0 分,猫眼:9.7 分,淘票票:9.5 分,时光网:8.8 分 。
为什么我说这三个网站呢,因为我们今天近 5000+ 条短评数据就来自于此,用专业的数据更有说服力。
综合几家的数据:五星推荐如此之高,生活环境是真实的,情绪是真实的,困境也是真实的,甚至女主角是一个真实的上了年纪的美女,有真实的皱纹!真实才能带来沉浸体验。表面说的是药,深层说的是命。
药能治病,命却不由自主,直面中国底层生命的苦难和尊严,也没有逃避对社会制度和商业法则的拷问,这是影片锲入中国现实的关键,也是引发大众共鸣的核心。
盛世危言,却让人能看到希望,这部影片极有可能成为 2018 年最具有爆炸性的话题。这也许就是未播先火,豆瓣 16 年后首部 9.0 高分电影的原因。
今天我们用 5000+ 条数据来分析一下,哪些地区,什么样的人,喜欢这部电影。
程勇只是个卖印度神油的小贩,日子过的还凑合。老爹血管瘤急着做手术,住院没钱,妻子要带儿子移民去国外发展,靠卖印度神油挣来的钱连水电费都交不起,处处都需要钱。
神秘男子吕受益找到程勇,让他从印度帮忙代购一款药物。吕受益患有血液癌症,需要长期服用抗癌药物进行治疗。
正版药“瑞士格列宁”非常昂贵,普通人家根本供应不起,但在印度有一款仿制药”印度格列宁“价格却只有 1/20,但在中国是属于禁药,走私被抓,是需要负法律责任的。
在巨大利益的驱使下,思慧,神父,黄毛先后出场,卖药五人组团建成功,他成为一名“药贩子”。
对于病友来说,他们拥有了活下去的机会,纷纷给程勇送锦旗,自此称其为“药神”。
代购的药出现问题,假药贩子张长林的出现威胁程勇,怕被抓,卖药组正式散伙。
程勇开了工厂,吕受益死,张长林跑路,让程勇完成第一次蜕变,许多病人无药可吃,程勇再次去印度并重新团建卖药。
警方严打假药贩子,张长林被抓。警方发现程勇窝点,黄毛为了掩护程勇而死,让他完成第二次蜕变。
以赔本价继续代购印度药,送儿子移民,晚上卖药被警察抓。三年后出狱,外面已是改天换地。
《我不是药神》的现实意义大于电影本身,许多人评论这部电影都有些扬眉吐气的感觉,大家都在做一个中国电影终于敢说真话的梦。
截止 7 月 9 日凌晨,累积票房超过 13 个亿,占当天票房近 84%。
哪些地区贡献的票房更多一些?
如这张图片动态展示的情况,你会发现贡献最多的还是:北京、上海、广州,二线城市同样成为票房的贡献者。
从画像来看,更趋于中年,油腻的中年,人人都怕老病死,人人都怕上下为难,人人都有为谋生计不得不做的事情,人人亦都向往真与善……是这些时刻集中起来让煽情的《药神》不那么脱离现实。
从数据上来看评论:
好看,现实,好片,感人,泪点,作品很棒
“领导,我求求你,别再查“假药”了行么。这药假不假,我们这些吃的人还不知道么?”
”我吃了三年正版药,房子吃没了,家也吃垮了。现在好不容易有了便宜药,可你们非说这是“假药”。不吃药,我们就只能等死。”
《我不是药神》戳中的是每个人的痛点,谁能保证这一辈子自己和家人不生病呢?
一旦遇上大病,动辄上万的高昂医药费让普通人家根本无力承担。一人生病,全家拖垮,真不是危言耸听。
回归技术:分享一下我们如何获取的数据
首先是豆瓣,豆瓣自从去年 10 月份已经全面禁止爬取数据,仅仅放出 500 条数据,豆瓣封 IP,白天一分钟可以访问 40 次,晚上一分钟可以访问 60 次,超过限制次数就会封 IP。
import urllibimport requestsfrom urllibimport requestimport timeheader = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0','Connection': 'keep-alive'}cookies = 'v=3; iuuid=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; webp=true; ci=1%2C%E5%8C%97%E4%BA%AC; __guid=26581345.3954606544145667000.1530879049181.8303; _lxsdk_cuid=1646f808301c8-0a4e19f5421593-5d4e211f-100200-1646f808302c8; _lxsdk=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; monitor_count=1; _lxsdk_s=16472ee89ec-de2-f91-ed0%7C%7C5; __mta=189118996.1530879050545.1530936763555.1530937843742.18'def html_prase(url):r = requests.get(url).contentreturn rcookie = {}for line in cookies.split(';'):name, value = cookies.strip().split('=', 1) cookie[name] = valuedef html_prase(url):r = requests.get(url).contentreturn rfor iin range(1, 100):print('正在打印第%s页' % i)try:url= 'http://m.maoyan.com/mmdb/comments/movie/1200486.json?_v_=yes&offset=%s&' % (i* 15) print(url) proxy = html_prase('http://172.17.0.29:5010/get/')..decode('utf-8') # 代理是自建代理池,有需要使用代理的可以联系我,知乎ID:布道html = requests.get(url=url, cookies=cookie, headers=header,proxies={"http": "http://{}".format(proxy)}).content data = json.loads(html.decode('utf-8'))['cmts']for item in data:comment = item['content'] date = item['time'].split(' ')[0] rate = item['score'] city = item['cityName']img= item['avatarurl']print(date, rate, comment, city, )with open('maoyan_08.txt', 'a', encoding='utf-8') as f:f.write(date + ',' + str(rate) + ',' + comment + ',' + comment + ',' + city + '\n')if img:f = open('C:\\Users\My\Desktop\yaoshen\img\\' + img.split('/')[-1], 'wb')f.write((urllib.request.urlopen(img)).read())except:continuetime.sleep(5 + float(random.randint(1, 100)) / 20)
另外一种方式:Anyproxy+JS+Python+ Monkeyrunner,可以爬取 Web 静态网站、App 应用、JS 渲染数据的动态网站的数据都可以进行爬取。
安装使用,请查阅:
官方 Github:
https://github.com/alibaba/anyproxy
JS 代码:
var logMap = {}var fs = require('fs');var iconv = require('iconv-lite');var logger = fs.createWriteStream('./urlLog.log', { flags: 'a' // 'a' means appending (old data will be preserved)})function logPageFile(url) { if (!logMap[url]) { logMap[url] = true; logger.write(url + '\r\n'); }}function postData(post_data, path, cb) { // // Build the post string from an object // var post_data = JSON.stringify({ // 'data': data // });
// An object of options to indicate where to post to var post_options = { host: '127.0.0.1', port: '9999', path: '/' + path, method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(post_data) } };
var http = require('http'); // Set up the request var post_req = http.request(post_options, function (res) { res.setEncoding('utf8'); res.on('data', cb); });
logger.write('request post data 1\r\n')
// post the data post_req.write(post_data);
logger.write('request post data 2\r\n') post_req.end();}
module.exports = { summary: 'a rule to modify response', * beforeSendResponse(requestDetail, responseDetail) {
if (/movie\/1200486/i.test(requestDetail.url)) { logger.write('matched: ' + requestDetail.url + '\r\n'); if (responseDetail.response.toString() !== "") { logger.write(responseDetail.response.body.toString()); var post_data = JSON.stringify({ 'url': requestDetail.url, 'body': responseDetail.response.body.toString() }); logger.write("post comment to server -- ext"); postData(post_data, 'douban_comment', function (chunk) { }); } } },};
使用 AnyProxy 加载 JS 代码:
anyproxy -i --rule wxrule.js
Service 代码部分:
#!/usr/bin/env python3
import asyncioimport reimport textwrapimport threadingimport time
import osimport pymysqlfrom mysqlmgrimport MysqlMgrfrom mongomgrimport MongoManagerfrom subprocess import callimport requestsfrom lxmlimport etreefrom lxmlimport htmlfrom aiohttp.webimport Application, Response, StreamResponse, run_appimport jsonSTATE_RUNNING = 1STATE_IN_TRANSACTION = 2running_state= 0run_swipe= Truelast_history_time= time.clock()# A thread to save data to database in backgrounddef insert_to_database(biz, msglist):try:for msg in msglist:print(biz)print(msg['comm_msg_info']['id'])mongo_mgr.enqueue_data(msg['comm_msg_info']['id'], biz, msg )except Exception as e:print(e)def save_data(biz, msglist_str):save_thread= threading.Thread(target=insert_to_database, args=(biz, msglist_str,))save_thread.setDaemon(True)save_thread.start()
def swipe_for_next_page():while run_swipe:time.sleep(5)if time.clock() - last_history_time>120:if running_state== STATE_RUNNING:reenter()continuecall(["adb", "shell", "input", "swipe", "400", "1000", "400", "200"])def reenter():global running_staterunning_state= STATE_IN_TRANSACTION# 模拟侧滑实现返回上一页call(["adb", "shell", "input", "swipe", "0", "400", "400", "400"])time.sleep(2)# 点击"进入历史消息",每个手机的位置不一样,需要单独设置 X 和 Ycall(["adb", "shell", "input", "tap", "200", "1200"])time.sleep(2)header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0','Connection':'keep-alive'}def html_prase(url):r = requests.get(url,header).contentreturn html.fromstring(r)
async def report_url(request):resp = StreamResponse() data = await request.json()url= data['url']# print("url reported: " + url)biz = re.findall('__biz=(.*?)\&', url)if len(biz) == 0:await resp.prepare(request)return resp biz = biz[0]print('----------------\r\n'+ biz + '\r\n----------------\r\n')mysql_mgr.enqueue_biz(biz, '')bizs.add(biz) biz = biz.encode('utf8')resp.content_type= 'text/plain'await resp.prepare(request)resp.write(biz)await resp.write_eof()return respasync def intro(request):txt = textwrap.dedent("""\ Type {url}/hello/John {url}/simple or {url}/change_body in browser url bar """).format(url='127.0.0.1:8080') binary = txt.encode('utf8') resp = StreamResponse()resp.content_length= len(binary)resp.content_type= 'text/plain'await resp.prepare(request)resp.write(binary)return respasync def simple(request):return Response(text="Simple answer")async def change_body(request):resp = Response()resp.body= b"Body changed"resp.content_type= 'text/plain'return resp# coding=utf-8async def app_douban_comment(request):resp = StreamResponse() data = await request.json()global running_stateglobal last_history_timemsg_data= json.loads(data['body'])['data']['cts']for item in msg_data:comment = item['ce'].strip().replace('\n','') rate = item['cr']print(comment, rate)with open('date_rate_comment_sg.txt', 'a', encoding='utf-8') as f:f.write('2018-07-06' + ',' + str(rate) + ',' + comment + '\n')last_history_time= time.clock()resp.content_type= 'text/plain'await resp.prepare(request)await resp.write_eof()return resplast_history_time= time.clock()resp.content_type= 'text/plain'await resp.prepare(request)await resp.write_eof()return respasync def init(loop):app = Application()app.router.add_get('/', intro)app.router.add_post('/url', report_url)app.router.add_post('/douban_comment', app_douban_comment)return appdef start_swipe_thread():try:t = threading.Thread(target=swipe_for_next_page, name='swipe')# set daemon so main thread can exit when receives ctrl-ct.setDaemon(True)t.start()except Exception:print("Error: unable to start thread")loop = asyncio.get_event_loop()app = loop.run_until_complete(init(loop))run_app(app, host='127.0.0.1', port=9999)
这是示例代码,实际使用过程,需要进行微调。获取猫眼数据,最难是难在找猫眼 App 的数据接口。
我费了很大力气才找到:
http://m.maoyan.com/mmdb/comments/movie/1200486.json?_v_=yes&offset=15'
接口怎么使用,直接看代码,获取淘票票的数据需要你自己去尝试找一下。
import jsonimport randomimport urllibimport requestsfrom urllibimport requestimport timeheader = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0','Connection': 'keep-alive'}cookies ='v=3; iuuid=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; webp=true; ci=1%2C%E5%8C%97%E4%BA%AC; __guid=26581345.3954606544145667000.1530879049181.8303; _lxsdk_cuid=1646f808301c8-0a4e19f5421593-5d4e211f-100200-1646f808302c8; _lxsdk=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; monitor_count=1; _lxsdk_s=16472ee89ec-de2-f91-ed0%7C%7C5; __mta=189118996.1530879050545.1530936763555.1530937843742.18'cookie = {}for line in cookies.split(';'):name, value = cookies.strip().split('=', 1) cookie[name] = valuedef html_prase(url):r = requests.get(url).contentreturn rfor iin range(1, 100):print('正在打印第%s页' % i)try:url= 'http://m.maoyan.com/mmdb/comments/movie/1200486.json?_v_=yes&offset=%s&' %(i*15) +'startTime=2018-07-01%2012%3A30%3A42'print(url) html = requests.get(url=url, cookies=cookie, headers=header).content data = json.loads(html.decode('utf-8'))['cmts']for item in data:comment = item['content'] date = item['time'].split(' ')[0] rate = item['score'] city = item['cityName']img= item['avatarurl']print(date, rate, comment, city, )with open('maoyan_08.txt', 'a', encoding='utf-8') as f:f.write(date + ',' + str(rate) + ',' + comment +',' + comment + ','+ city +'\n')if img:f = open('C:\\Users\My\Desktop\yaoshen\img\\' + img.split('/')[-1], 'wb')f.write((urllib.request.urlopen(img)).read())except:breaktime.sleep(5 + float(random.randint(1, 100)) / 20)
动态地图展示代码:
from pyechartsimport Stylefrom pyechartsimport Geocity =[]with open('maoyan.txt', mode='r', encoding='utf-8') as f:rows = f.readlines()for row in rows:if len(row.split(',')) == 5:city.append(row.split(',')[4].replace('\n',''))def all_list(arr):result = {}for iin set(arr):result[i] = arr.count(i)return resultdata = []for item in all_list(city):data.append((item,all_list(city)[item]))style = Style(title_color="#fff",title_pos="center",width=1200,height=600,background_color='#404a59')geo = Geo( "《我不是药神》评论人群地理位置","数据来源:知乎ID:布道", **style.init_style)attr, value = geo.cast(data)geo.add("", attr, value, visual_range=[0, 100],visual_text_color="#fff", is_legend_show=False,symbol_size=20, is_visualmap=True,tooltip_formatter='{b}',label_emphasis_textsize=15,label_emphasis_pos='right')geo.render()
每天爬取数据量代码:
from pyechartsimport EffectScatterfrom pyechartsimport Style
style= Style(title_color="#191970",title_pos="left",width=900,height=450,background_color='#F8F8FF')es = EffectScatter("《我不是药神》短评数据情况","数据来源:知乎ID:布道", **style.init_style)es.add("", [1], [270], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [2], [606], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [3], [542], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [4], [550], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [5], [656], ssymbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [6], [850], ssymbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [7], [993], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")es.add("", [8], [903], symbol_size=20, effect_scale=4,effect_period=5, symbol="pin")
es.render()
五星推荐河流图代码:
from pyechartsimport Stylefrom pyechartsimport ThemeRiver
data = [ ['2018/07/08', 802, '五星'], ['2018/07/08', 28, '四星'], ['2018/07/08', 9, '三星'], ['2018/07/08',8, '二星'], ['2018/07/08', 4, '一星'],
['2018/07/07',802, '五星'], ['2018/07/07',166, '四星'], ['2018/07/07',17, '三星'],['2018/07/07',0, '二星'],['2018/07/07',8, '一星'], ['2018/07/06', 667, '五星'], ['2018/07/06', 156, '四星'], ['2018/07/06', 13, '三星'], ['2018/07/06', 10, '二星'],['2018/07/06', 4, '一星'], ['2018/07/05', 567, '五星'], ['2018/07/05', 76, '四星'], ['2018/07/05', 13, '三星'], ['2018/07/05', 0, '二星'],['2018/07/05', 0, '一星'], ['2018/07/04', 467, '五星'], ['2018/07/04', 67, '四星'], ['2018/07/04', 16, '三星'], ['2018/07/04', 0, '二星'],['2018/07/04', 0, '一星'], ['2018/07/03', 478, '五星'], ['2018/07/03', 56, '四星'], ['2018/07/03', 8, '三星'], ['2018/07/03', 0, '二星'],['2018/07/03', 0, '一星'], ['2018/07/02', 531, '五星'], ['2018/07/02', 67, '四星'], ['2018/07/02', 8, '三星'], ['2018/07/02', 0, '二星'],['2018/07/02', 0, '一星'], ['2018/07/01', 213, '五星'], ['2018/07/01', 45, '四星'], ['2018/07/01', 5, '三星'], ['2018/07/01', 1, '二星'], ['2018/07/01', 1, '一星'],
]style = Style(title_color="#191970",title_pos="left",width=1200,height=600,background_color='#F8F8FF')tr = ThemeRiver("《我不是药神》星级推荐","数据来源:知乎ID:布道", **style.init_style)tr.add(['五星', '四星', '三星', '二星', '一星',], data, is_label_show=True)tr.render()
词云图:
import picklefrom osimport pathimport jiebaimport matplotlib.pyplotas pltfrom wordcloudimport WordCloud, STOPWORDS, ImageColorGeneratordef make_worldcloud(file_path):text_from_file_with_apath= open(file_path,'r',encoding='UTF-8').read()wordlist_after_jieba= jieba.cut(text_from_file_with_apath, cut_all=False)wl_space_split= " ".join(wordlist_after_jieba)print(wl_space_split)backgroud_Image= plt.imread('./1.jpg')print('加载图片成功!')'''设置词云样式'''stopwords= STOPWORDS.copy()stopwords.add("哈哈")stopwords.add("电影")stopwords.add("真的")stopwords.add("就是")stopwords.add("真是")stopwords.add("中国")stopwords.add("没有")stopwords.add("可以")stopwords.add("一部")stopwords.add("还是")stopwords.add("最后")stopwords.add("一个") #可以加多个屏蔽词#可以加多个屏蔽词wc= WordCloud(width=1024,height=768,background_color='white',# 设置背景颜色mask=backgroud_Image,# 设置背景图片font_path='E:\simsun.ttf', # 设置中文字体,若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字max_words=600, # 设置最大现实的字数stopwords=stopwords,# 设置停用词max_font_size=400,# 设置字体最大值random_state=50,# 设置有多少种随机生成状态,即有多少种配色方案)wc.generate_from_text(wl_space_split)#开始加载文本img_colors= ImageColorGenerator(backgroud_Image)wc.recolor(color_func=img_colors)#字体颜色为背景图片的颜色plt.imshow(wc)# 显示词云图plt.axis('off')# 是否显示x轴、y轴下标plt.show()#显示 # 获得模块所在的路径的d = path.dirname(__file__)# os.path.join(): 将多个路径组合后返回wc.to_file(path.join(d, "h11.jpg"))print('生成词云成功!')
make_worldcloud('cloud.txt')
图像画像代码:
import osfrom math import sqrtfrom PIL import Image#path是存放好友头像图的文件夹的路径path = 'C:\\Users\My\Desktop\yaoshen\img\\'pathList= []for item in os.listdir(path):imgPath= os.path.join(path,item)pathList.append(imgPath)total = len(pathList)#total是好友头像图片总数line = int(sqrt(total))#line是拼接图片的行数(即每一行包含的图片数量)NewImage= Image.new('RGB', (128*line,128*line))x = y = 0for item in pathList:try:img= Image.open(item)img= img.resize((128,128),Image.ANTIALIAS)NewImage.paste(img, (x * 128 , y * 128)) x += 1except IOError:print("第%d行,%d列文件读取失败!IOError:%s" % (y,x,item)) x -= 1if x == line:x = 0y += 1if (x+line*y) == line*line:breakNewImage.save(path+"final.jpg")
作者简介
刘晓明,互联网公司运维技术负责人,拥有 10 年的互联网开发和运维经验。一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能。最后给自己代个盐,欢迎大家有空时翻下我牌子(知乎号:布道,微信:AiDevOps),看看“开发运维”专栏的文章和公众号的文章,希望多些关注和点赞是给作者最好的鼓励 !
Python用5000+条数据为你分析《我不是药神》登顶原因!(附代码)相关推荐
- Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...
- Python爬取天气数据及可视化分析
Python爬取天气数据及可视化分析 文章目录 Python爬取天气数据及可视化分析 说在前面 1.数据获取 请求网站链接 提取有用信息 保存csv文件 2.可视化分析 当天温度变化曲线图 当天相对湿 ...
- 【python】用python实现wordcloud大数据词云图分析
[python]用python实现wordcloud大数据词云图分析 一.应用场景 二.工具包安装及代码 三.中文不能正常显示问题 四.关键词重复问题 五.最终结论 一.应用场景 大数据词云(word ...
- Python爬取天气数据及可视化分析(附源码)
大家好,我是辰哥(文末送书) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本次使用python中requests和Be ...
- kafka session.timeout.ms 是指消费一条数据的时间?_干货 | Kafka 内核知识梳理,附思维导图...
前面我们已经分享过几篇Kafka的文章,最近简单梳理了下Kafka内核相关的知识,涵盖了Kafka架构总结,副本机制,控制器,高水位机制,日志或消息存储,消息发送与消费机制等方面知识.文末含对应的Ka ...
- tushare pro接口_Python与交易策略分析amp;tushare/baostock库介绍(附代码)
前言:金融数据中最典型的就是资产价格的涨跌情况.想要分析金融资产的投资策略,第一步就是历史数据的获取.tushare正是为导入历史金融资产数据而开发,它大大方便了用Python进行金融资产交易策略的探 ...
- python小数点进位小学数学_python小数的进位与舍去的介绍(附代码)
本篇文章给大家带来的内容是关于python小数的进位与舍去的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.基础知识准备 奇进偶舍,又称为四舍六入五成双规则.银行进 ...
- python发送短信内容_Python实现发短信的方法介绍(附代码)
本篇文章给大家带来的内容是关于Python发短信的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. #首先注册互亿无线,然后复制发短信界面右上角的apiid和apik ...
- 考不上本科就是低智商?用python爬3000条数据狠打脸
最近一份求职记录在全网火了起来,就连我的朋友圈也都在疯狂转发,这位HR算是因为这句话而"正式出道"了: 但你如果要说一种学历较低的人生是不值得过的,甚至说这样的人是"智商 ...
最新文章
- ReentrantLock实现原理分析
- CentOS 下 rpm包与 yum 安装与卸载
- 每天学点linux之-rmdir,cp,mv
- POJ1741 Tree 树中点对统计【树分治入门】
- Web应用功能测试测试点
- 统计单词个数 状态机方法
- php input样式,input能改变css样式吗
- password php,password.php
- OpenCV 与 Matlab 中最小二乘法拟合直线数据不一致的问题
- Mysql调优大全梳理(涵盖90%需要调优的场景)
- 函数式编程?别费力气了,它就是个愚蠢的玩具
- 标题中冒号的用法_英文中冒号的各种用法
- ios-AddressBook框架
- 微信红包测试思维导图
- 【Socket】苍老师有了丈夫,我也有了SAEA
- 虚拟资源项目是什么?依靠虚拟资源项目月入万元能实现吗?
- 计算机联锁控制台功能,计算机联锁控制台的改进及应用
- web读取身份证信息(java语言)
- ‘0’ 和 '\0'
- 读松下幸之助自传有感