V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
znwindy
V2EX  ›  程序员

有 Python 基础如何快速进阶到熟练用 JS 开发浏览器应用插件?

  •  
  •   znwindy · 2021-01-22 09:16:05 +08:00 · 1582 次点击
    这是一个创建于 1403 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人以前做过几年 Python 程序员,后来转电商行业了,目前的水平就是会用 Python 开发一些应用软件,但是现在业务需求是需要在很多不同的电商平台上收集数据(很多中小平台没有绑定 erp 的接口),也需要在很多电商平台的后台收集数据,认为这个需求还是最好是 Chrome 浏览器插件最能方便并且不大规模更改用户的使用的条件下实现收集数据。
    以前尝试过一下开发 Chrome 浏览器插件就写了个点击能查库存的小 demo,水平仅仅限于此,求问各位大佬,我这种情况,应该走一种什么路线去快速达到这个目的呢?先行拜谢了!
    10 条回复    2021-01-22 19:33:50 +08:00
    murmur
        1
    murmur  
       2021-01-22 09:19:09 +08:00
    好家伙,上来就要挑战京东淘宝这些大站么,这些都是检验反爬能力,不是检验编程能力的

    不过插件有个好处就是不需要改浏览器,把那些自动化的特征改掉,省了一大笔事,但是过验证码这些该少都不能少
    znwindy
        2
    znwindy  
    OP
       2021-01-22 09:21:41 +08:00
    @murmur 主要是做国外的电商业务,那边需求主要是收集我们自己的后台数据(有些平台比如亚马逊有 erp 但是不能完全符合我们对数据的要求,有些平台就没有 erp 接入的),然后汇总到数据库做报表和曲线图分析。不是想大规模爬取其他商家的数据
    vivipure
        3
    vivipure  
       2021-01-22 09:23:50 +08:00
    官方文档 https://developer.chrome.com/docs/extensions/mv2/getstarted/
    搭配这个仓库 https://github.com/sxei/chrome-plugin-demo
    就差不多了。 浏览器插件爬取还是有优势。
    znwindy
        4
    znwindy  
    OP
       2021-01-22 09:25:23 +08:00
    所以主要就是收集我们自己的后台数据和检查前台的状态(平台很多),再少量监控一些其他卖家的状态(最多十几个页面),所以不是大规模爬虫,另外收集后台数据需要登录,这个我感觉用 Python 很难方便的实现,因为不同的平台是在不同的 vps 内以不同的 IP 隔离的环境下登录的,最好是在对应平台登录的那个电脑的浏览器上用浏览器插件去实现。
    Ritter
        5
    Ritter  
       2021-01-22 09:30:55 +08:00
    @vivipure 这个仓库好 当初要是看到这个仓库 就不用嚼官方文档嚼得那么辛苦了
    znwindy
        6
    znwindy  
    OP
       2021-01-22 09:32:25 +08:00
    @vivipure 感谢感谢,还有个问题,主要就是这种插件 demo 教程弄过一遍后,自己来动手还是有点摸不着头脑,不像用 Python 干活基本上缺啥就能想到去找什么东西来补上去加上去,JS 还是不太明白这个内在的逻辑(语法基本能懂),特别是回调,经常卡在这个上面,所以我这种是不是属于基础没打牢。。是否有必要去做什么再补充点基础知识
    YouLMAO
        7
    YouLMAO  
       2021-01-22 11:49:13 +08:00 via Android
    泽汇,蓝色光标?
    znwindy
        8
    znwindy  
    OP
       2021-01-22 18:24:02 +08:00
    @YouLMAO 不是铺货的这种,在一家研发销售一体的品牌商
    Rhilip
        9
    Rhilip  
       2021-01-22 19:31:24 +08:00   ❤️ 1
    我也是学 Python,后面因为个人兴趣开始开发 浏览器应用插件。
    个人觉得,如果需求很简单,建议使用 userscripts,这样只要装 tampermonkey 这类用户脚本插件就可以了。而且 userscript 直接对页面进行操控,操作起来更为方便。
    而且如果插件在 chrome 或者 firefox 平台上架,(不上架的话,官方 chrome 或者 firefox 安装麻烦),审核目前较为麻烦,远不如 userscript 灵活。

    回调问题建议使用 promise 或者 async/await 解决
    如果要补基础,可以考虑 https://zh.javascript.info/ 或者 https://es6.ruanyifeng.com/ ,个人觉得打基础还是提高都是够用了。
    YouLMAO
        10
    YouLMAO  
       2021-01-22 19:33:50 +08:00 via Android
    anker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3610 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:48 · PVG 12:48 · LAX 20:48 · JFK 23:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.