稀稀拉拉的过往
先介绍下自己吧 !湖南长沙人,湖北工业大学(大专土木专业),20年毕业后回到老家干本专业工作,说说自己为什么毕业就想转行了吧!行业师兄也认识几个,相比所认识做it的朋友,同样是4 5年工作 差距真的很大,当初选土木专业,刚好那会土木发展还不错,大学老师各种夸好,其实后来接触下来,发现我对土木并不热爱。但是好就业是真的,一毕业就工作了,工资2500,私企施工单位,我的体力劳动大于脑力劳动,说白了就是一带眼镜的农民工,还好我带眼镜,要不然就是农民工了,有喜欢的女孩子那段时间都没自信心追求,不修边幅,烟酒必备,透支身体,涨薪幅度很低,我基本上已经看到了工作的5年师兄5000工资,和一眼看到未来的自己才是最可怕的,前景遥遥无期,而且20年年底那会,经常半夜施工,加班常有的事,主要是甲方就是你大爷,我本人还算了解自己,不大适应,权术拍马屁的一个人,就做好自己工作就行,恰恰这行就需要这样,比我早进行业的老哥们,我们经常夜宵,感觉他们都是喝酒来麻痹自己,转行年龄资本也晚了,现在想起来虽然程序员也加班,相比补贴各方面也有所安慰了。以上感触还有很多,当然也不排除混的很好师兄,很热爱土木的师兄。
经历不多,太多感叹 ,太多感触,我不怪行业,只怪自己,当时唯一的想法也是就想早点跳出来,以后想跳都跳不出来了,我当时跟一起工作的李哥话语很多,他们也都支持我转行,不要步自己后尘,哪怕转行失败了。我也心甘情愿,也谢谢他们对我的支持。
转行开始到找到工作,差不多整整一年了,时间可以说快,也可以说慢,最终选择了学习Python,不为别的,就因为它容易上手工资也可观!
附带一张学习图,当时凌晨12点还在敲代码的自己,当时自己打气发的朋友圈没有删。找到唯一的一张图了。
给大家的618礼物
一年一度的618购物节就要到了,各种优惠活动从5月份开始充斥淘宝、京东、抖音等各大平台。购物节产品的“明降暗升”已经是默认的潜规则了。打破这种规则很简单,可以用 Python 写一个定时监控商品价格的小工具。
思路第一步抓取商品的价格存入 Python 自带的 SQLite 数据库每天定时抓取商品价格使用 pyecharts 模块绘制价格折线图,让低价一目了然
抓取价格
从商品详情的页面中打开 F12 控制面板,找到包含 p.3 的链接,在旁边的 preview 面板中可以看到当前商品价格
sku_detail_url = 'http://item.jd.com/{}.html'
sku_price_url = 'https://p.3.cn/prices/get?type=1&skuid=J_{}'
r = requests.get(sku_detail_url.format(skuId)).content
soup = BeautifulSoup(r, 'html.parser', from_encoding='utf-8')
sku_name_div = soup.find('div', class_="sku-name")
if not sku_name_div:
print('您输入的商品ID有误!')
return
else:
sku_name = sku_name_div.text.strip()
r = requests.get(sku_price_url.format(skuId))
price = json.loads(r.text)[0]['p']
data = {
'sku_id': skuId,
'sku_name': sku_name,
'price': price
}
return data
把抓取的价格存入 sqlite 数据库,使用 PyCharm 的 Database 功能创建一个 sqlite 数据库
# 新增
def insert(data):
conn = sqlite3.connect('price.db')
c = conn.cursor()
sql = 'INSERT INTO price (sku_id,sku_name,price) VALUES ("{}", "{}", "{}")'.format(data.get("sku_id"), data.get("sku_name"), data.get('price') )
c.execute(sql)
conn.commit()
conn.close()
# 查询
def select(sku_id):
conn = sqlite3.connect('price.db')
c = conn.cursor()
sql = 'select sku_id, sku_name, price, time from price where sku_id = "{}" order by time asc'.format(sku_id)
cursor = c.execute(sql)
datas = []
for row in cursor:
data = {
'sku_id': row[0],
'sku_name': row[1],
'price': row[2],
'time': row[3]
}
datas.append(data)
conn.close()
return datas
示例结果
使用轻量级的 schedule 模块每天早上 10 点抓取京东价格这一步骤
安装 schedule 模块
pip install schedule
def run_price_job(skuId):
# 使用不占主线程的方式启动 计划任务
def run_continuously(interval=1):
cease_continuous_run = threading.Event()
class ScheduleThread(threading.Thread):
@classmethod
def run(cls):
while not cease_continuous_run.is_set():
schedule.run_pending()
time.sleep(interval)
continuous_thread = ScheduleThread()
continuous_thread.start()
return cease_continuous_run
# 每天10点运行,get_jd_price:任务方法,skuId:任务方法的参数
schedule.every().day.at("10:00").do(get_jd_price, skuId=skuId)
run_continuously()
查看历史价格
使用 pytharts 模块绘制折线图,直观的查看每一天的价格差异
datas = select(skuId)
def line(datas):
x_data = []
y_data = []
for data in datas:
x_data.append(data.get('time'))
y_data.append(data.get('price'))
(
Line()
.add_xaxis(x_data)
.add_yaxis(datas[0].get('sku_name'), y_data, is_connect_nones=True)
.render("商品历史价格.html")
)
总结
本文抓取了京东商城的价格,小伙伴们也可以修个脚本抓取淘宝的价格。使用 Python 解决生活中的小小痛点,让钱包不再干瘪。
读者福利:知道你对Python感兴趣,便准备了这套python学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
[[[CSDN大礼包:《python兼职资源&全套学习资料》免费分享]]](安全链接,放心点击)
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓