干货之如何利用Python程序赚钱
大家好,我是711。
俗话说,思路决定出路,作为一个程序员,一定要敢想敢做。
给阿基米德一个杠杆他可以撬动地球,给你一门开发语言,你能否撬动钱包?
一般来说作为程序员收入大概有以下几种方式:
1、最基本的肯定就是基本工资收入了
2、稍微前进一点的从各种兼职平台接取外包,来获取额外收入
3、再稍微前进一点就自己开个淘宝店接取外包
4、再再前进一点就开发自己软件,卖软件或者提供服务赚钱。当然3和4可以结合起来
5、当然如果你的算法可以有基本的金融知识,现在可以去做数字货币量化,进行套利。
以上能证明,作为程序员其实不要把自己限定太过于死板,当然还有更多的其他思路,靠大家发挥想象力了。
今天我给大家分享的是自己实践过的一种赚钱方法:都闪开!我要加黑加粗重点了!
《CSGO饰品扫货赚钱攻略》
一、背景介绍
不知道大家玩过CSGO这款游戏没有(其实我没有玩过),俗话说有游戏的地方就有江湖,有江湖的地方就有买卖。
在这些买卖当中其中一种是:游戏物品商人,手动倒买倒卖游戏物品,从而赚取差价收入。
交易平台:
1、国内比较大的CSGO饰品交易平台有C5GAME和IGXE(声明绝对不是打广告)
2、国外肯定是官方的Steam以及亲儿子opskins了
二、思路介绍
1、同一件商品,国内国外价格有差异,一般国内平台比国外便宜
2、我们实时抓取国外的价格,与国内平台进行比较,如果国内平台价格比国内便宜一定的程度(这个程度根据自己需要可以程序实现的时候进行配置),那么就在国内的平台把商品买下来。
看吧,思路是不是挺简单,会爬虫的童鞋肯定蹭蹭蹭地,整装待发,要去写程序实现了。
先别慌,还没说完。先问几个问题Q&A:
1、买来的有差价的饰品我们卖给谁,放国外平台卖?
如果说通过steam中转放国外平台卖,那就不划算了。
因为国外平台收取非常高的佣金,比如卖100块收你10块或20块,那不亏哭。
解决方案:
可以联系批量收饰品的第三方平台或者个人,批量卖给对方,及时收回货款,或者按照对方的需求程序针对性的进行扫货,笔者便是这样做的。
2、现在steam针对CSGO有7天交易限制了,怎么办?
凉拌。
哈哈,凉拌是不可能的,这辈子都是不可能凉拌的。
解决方案:
你可以扫其他的游戏物品,比如绝地求生,H1Z1这些,都是类似的。
3、这可是python相关的,说了这么多,咋还没看到一个字儿的代码?
容我喝口水,娓娓道来。
三、程序实现
1、首先,我们通过爬虫程序获取opskins所有CSGO饰品的商品名称和价格。
返回结果如下,包含销量和价格:
2、模拟登录C5GAME
def login(self,username,password,captcha):
res = {"s": 0, "m": "fail"}
url="https://www.c5game.com/api/login.json"
headers={
"Origin": "https://www.c5game.com",
"Accept-Language": "zh-CN,zh;q=0.9",
"Accept-Encoding": "gzip,deflate,br",
"Accept": "application/json,text/javascript,*/*;q=0.01",
"User-Agent": "Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.62Safari/537.36",
"Host": "www.c5game.com",
"X-Requested-With": "XMLHttpRequest",
"Referer": "https://www.c5game.com/csgo/item/index.html?item_id=202853129&type=S",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
}
post_data={
"LoginForm[username]": username,
"LoginForm[password]": password,
"LoginForm[verify]": captcha,
"LoginForm[rememberMe]": "1"
}
response=self.session.post(url,headers=headers,data=post_data)
if response.json().get("status")==200:
res["s"]=1
res["m"]=u"登录c5game成功"
res["m"]=response.json().get("message")
return res
登录成功
3、根据商品名称在C5GAME进行搜索
def query(self,keyword):
res = {"s": 0, "m": "fail"}
try:
headers={
"Accept-Language": "zh-CN,zh;q=0.9",
"Accept-Encoding": "gzip,deflate,br",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"User-Agent": "Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.62Safari/537.36",
"Host": "www.c5game.com",
"Referer": "https://www.c5game.com/csgo.html",
"Upgrade-Insecure-Requests": "1"
}
params={"k": keyword}
url="https://www.c5game.com/csgo/default/result.html"
response=self.session.get(url,headers=headers,params=params)
soup=BeautifulSoup(response.text,"html.parser")
content = soup.find_all("li", {"class": "selling"})
goods_urls = map(lambda i: "https://www.c5game.com" + str(i.a["href"]), content) #查询后的商品信息,这个url进去后才是真正的购买连接
keywords=map(lambda i:i.find("span",{"class":" text-unique "}).text,content)
minPrices=map(lambda i:i.find("span",{"class":"price"}).text.replace(u"¥","").replace(",",""),content)
goods_data=[]
for l in range(len(goods_urls)):
goods_data.append({"name":keywords[l],"minPrice":minPrices[l],"goods_url":goods_urls[l]})
res["s"]=1
res["m"]=u"成功获取关键词的商品信息urls"
res["goods_data"]=goods_data except Exception,e:
traceback.print_exc()
return res
4、爬虫经过判断进行购买
if query_res["s"]:#在c5上查询成功
for item in query_res["goods_data"]:#遍历查询出来的结果
rate_price=zh_price*BUY_RATE#opskins价格乘以一个比例
c5_price=float(item["minPrice"])#c5上商品价格起价
if rate_price<c5_price:#如果比例价格小于c5最低价,那么就不用继续比较了
continue
print "c5_name:",item["name"].encode(sys.stdout.encoding,"ignore")
if item["name"]==Zhname:#找到名称一样的商品
print "min_c5_price:%s"%c5_price
detail_res=spider.order(item["goods_url"])#下单
if detail_res["s"]:#获取商品列表成功
for ditem in detail_res["data"]:#遍历可以购买的链接
c5_price=float(ditem["price"])
print "c5_price:%s"%c5_price if rate_price<c5_price:#如果比例价格c5价,那么就不用继续比较了
continue
total_opskin+=zh_price
total_c5+=c5_price print "!!!buy:",ditem["url"]
match_count+=1
print "!!!match_count:",match_count
alert_text=str(sale_price["ensale"])+"----"+"AVER:%s#LOWEST:%s"%(sale_price["price"],zh_price)+"----"+k.decode("utf-8")+"----"+Zhname+"----%s"%ditem["price"]+"----"+ditem["url"]
alert_text+=u"----手动购买链接:"+item["goods_url"]
#buy_res=spider.autoBuy(ditem["url"])#下单购买
buy_res={"s":0,"m":"fail"}
if buy_res["s"]:#下单购买成功
total_opskin_success+=zh_price
total_c5_success+=c5_price
writeSuccessLog(alert_text.encode("utf-8","ignore"))
else:
with open("fail_buy_urls.txt","ab") as f:
f.write(alert_text.encode("utf-8","ignore"))
f.write("\n")
#async_send_mail(u"C5购买失败报警!已经停止购买程序",alert_text+u"----手动购买链接:"+item["goods_url"])
sys.exit()
print buy_res["m"]
5、打完收工。各位可以去实现自己的代码了。
最后啰嗦一句,大家可以关注我的微信公众号:什么的干货
或者搜索:smdgh88
(我会在知乎和微信同步更新技术方面的干货,爬虫、python等等)
请先 后发表评论~