专栏名称: 养码场
养码场,一个技术人职场社交平台。 现有“养码人”80000+,覆盖JAVA/PHP/iOS/测试/运维等领域。80%级别在P6及以上,含P9技术大咖30人,技术总监和CTO 500余人。
目录
相关文章推荐
天津广播  ·  哏儿 | 天津地铁将出现“天津话”报站! ·  昨天  
生态梦网  ·  5项签约!滨海新区在日本东京有大动作 ·  2 天前  
天津日报  ·  14℃!天津要升温了 ·  2 天前  
51好读  ›  专栏  ›  养码场

程序员用技术手段让发国难财的奸商,无机可乘!

养码场  · 公众号  ·  · 2020-02-10 16:30

正文

灾难来临,

对大多人来说是噩梦,

对有那么一小撮人来说却是风口

——发财的风口


面对这样一场天灾,大部分人的选择是,有钱出钱,有力出力,没钱又没力的就待在家里自我隔离,尽量不给国家添堵。

但是对于另一部分人来说,如今肆虐的疫情不只是一场灾难,更是一个发财的好机会。


灾难来了,算盘就响了,浓郁的铜臭味弥漫在空气中,到处都是金钱的味道。

很魔幻吧。 随手一搜,就看到很多这样的案例。

_

比如,进价15元/个的N95口罩,涨到 48元/个。


比如,一盒口罩卖 850元。


比如,有商家在遭到消费者质疑后, 让消费者滚出去。


而这批商家,有的是个人行骗,在各大自媒体渠道发布不实信息。有的则是在淘宝、京东有着各自的运营店铺,凭借一己之力的查漏补缺实在有点大海捞针。


在Github中文社群,大佬分享了口罩爬虫代码程序,爬取关键词监测口罩信息。


这样一来,能快速知晓口罩出货数及价格,也能一定程度上监控价格,一有反常立刻举报! 正所谓用技术手段让发国难财的奸商无机可乘


监督物价的同时,顺便也能给自己补下口罩。在此也呼吁大家买口罩请走正规渠道。


(注:python有风险,仅供学习参考,代码来源:https://blog.csdn.net/cyz52/article/details/104114438)


自力更生,不让奸商有机可乘

以JD为例,当然熟练的小伙伴可继续测试淘宝天猫。

  1. '' '

  2. jd旗舰店检查到货

  3. '' '

  4. import requests

  5. import time

  6. # 有货通知 收件邮箱

  7. mail = 'xxxxx @qq .com'

  8. # 商品的url

  9. url = [

  10. 'https: //c0.3.cn/stock?skuId=100011293950&area=19_1607_4773_0&venderId=1000078145&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery4173314',

  11. 'https: //c0.3.cn/stock?skuId=34424081673&area=19_1607_3639_0&venderId=656282&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery7815511',

  12. 'https: //c0.3.cn/stock?skuId=14567560031&area=6_318_320_44149&venderId=70651&buyNum=1&choseSuitSkuIds=&cat=9847,13533,13534&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580535906442142991701&ch=1&callback=jQuery660434',

  13. 'https: //c0.3.cn/stock?skuId=100011293952&area=19_1607_4773_0&venderId=1000078145&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery5497502',

  14. 'https: //c0.3.cn/stock?skuId=11300307432&area=2_2824_51916_0&venderId=646174&buyNum=1&choseSuitSkuIds=&cat=9192,12190,1517&extraParam={%22originid%22:%221%22}&fqsp=0&pdpin=&pduid=1580214678781491106132&ch=1&callback=jQuery4188953',

  15. ]

  16. def sendMail(url):

  17. import smtplib

  18. from email.mime.text import MIMEText

  19. # email 用于构建邮件内容

  20. from email.header import Header

  21. # 用于构建邮件头

  22. # 发信方的信息:发信邮箱,QQ 邮箱授权码

  23. from_addr = ' 838143144 @qq .com'

  24. password = 'alpsneahzhawbfgj'

  25. # 收信方邮箱

  26. to_addr = mail

  27. # 发信服务器

  28. smtp_server = 'smtp.qq.com'

  29. # 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码

  30. msg = MIMEText(url + ' 有口罩啦', 'plain', 'utf- 8 ')

  31. # 邮件头信息

  32. msg['From'] = Header(from_addr)

  33. msg['To'] = Header(to_addr)

  34. msg['Subject'] = Header('有口罩啦')

  35. # 开启发信服务,这里使用的是加密传输

  36. server = smtplib.SMTP_SSL(host=smtp_server)

  37. server.connect(smtp_server, 465 )

  38. # 登录发信邮箱

  39. server.login(from_addr, password)

  40. # 发送邮件

  41. server.sendmail(from_addr, to_addr, msg.as_string())

  42. # 关闭服务器

  43. server.quit()

  44. flag = 0

  45. while ( 1 ):

  46. try :

  47. session = requests.Session()

  48. session.headers = {

  49. "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/531.36" ,

  50. "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3" ,

  51. "Connection" : "keep-alive"

  52. }

  53. print('第' + str(flag) + '次 ' + time.strftime( "%Y-%m-%d %H:%M:%S" , time.localtime()))

  54. flag += 1

  55. for i in url:

  56. # 商品url

  57. skuidUrl = 'https: //item.jd.com/' + i.split('skuId=')[1].split('&')[0] + '.html'

  58. response = session.get(i)

  59. # print('有货啦! 有货啦! 有货啦! : ' + skuidUrl)

  60. # sendMail(skuidUrl)

  61. if (response.text.find('无货') > 0 ):

  62. print('无货 : ' + skuidUrl)

  63. else :

  64. print('有货啦! 有货啦! 有货啦! : ' + skuidUrl)

  65. sendMail(skuidUrl)

  66. time.sleep( 5 )

  67. except Exception as e:

  68. import traceback

  69. print(traceback.format_exc())

  70. print('异常')

  71. time.sleep( 10 )

效果展示




无货展示







请到「今天看啥」查看全文