引言

昨天,有一个粉丝和我说,“仙草哥哥,你现在写的这些文章使用的技术都太旧了。现在的最前沿,最热门的python技术是pyscript,你应该使用一下这个!“

我很好奇,”真的吗?现在pyscript真的有这么重要吗?“

她说,“那可不是吗,现在就连很多python的ide都紧急加入了pyscript的支持,这真可谓是当红炸子鸡嘞!“

既然是这样,那我们也赶紧跟上潮流,研究一下pyscript到底是怎么一回事吧!

pyscript介绍

pyscript就是说,你不需要安装python环境,也不需要有任何的python解释器,只需要有一个浏览器(最好是chrome浏览器),就可以在html的文件中,写python代码了。写好以后再访问这个网页,就可以正常执行python代码了,从而实现了html与python代码的混写

这听起来非常的不错啊,如果是这样的话,不是能像php那样用了吗?真是太好了,可是不需要python环境,这究竟是怎么做到的呢?

首先,我们需要引入一个js文件,然后我们就可以在py-script的标签中,写python代码了

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>你好,世界</title><script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body><py-script>print("hello world")</py-script>
</body>
</html>

比如说,访问这样的一个页面,就会看到你好世界,这是由print("hello world")所打印出来的,不是传统的写在标签中的文本哦!

如果你用过php的话,那么一定会对php中可以直接使用md5()有印象吧?现在我们也来模仿一下,看看能不能在py-script中实现一个md5()呢?

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>你好,世界</title><script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body><py-script>import hashlibdef md5(p):print(hashlib.md5(str(p).encode()).hexdigest())md5(123456)</py-script>
</body>
</html>

可以看到,这非常轻松啊,我们很容易的就还原出了md5()的功能

pyscript爬虫程序

那么,简单的pyscript的使用,我们已经了解过了。现在就需要研究一下,如何才能制作一个爬虫程序了,直接导入requests库行不行呢?

<py-script>import requestsr = requests.get(url)
</py-script>

很显然,这不行,因为requests是一个第三方库,不能够直接这样导入。那么是不是使用标准库中的urllib就可以了呢?

嗯,想法是很不错的,但是问题是,还是不行的。由于js的限制,事实上我们是没有办法完成python中的全部操作的,像requests库那样发送请求就没办法做到。不过,我们可以通过其他的方式发送请求,比如说,使用下边的这种方式

<py-script>import asynciofrom pyodide.http import pyfetchr = await pyfetch(url, method="GET")
</py-script>

虽然不是常用的requests,但是也是可以能够发送请求的,这样我们就可以完成一个爬虫程序了

爬取ip地址程序演示

有了上边的这些知识,我们就可以实际动手完成一个爬虫程序了。和往常一样,我们还是通过httpbin的网站,获取一下本机的ip地址

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>ip地址</title><script defer src="https://pyscript.net/alpha/pyscript.js"></script><style type="text/css">.wrapper{text-align: center;margin-top: 50px;font-size: 36px;color: blueviolet;}</style>
</head>
<body><div class="wrapper"><py-script>import asynciofrom pyodide.http import pyfetchr = await pyfetch("http://httpbin.org/get", method="GET")info = await r.json()print("您当前的ip地址为:", info["origin"])</py-script></div></body>
</html>

之后,我们打开这个网页,就可以看到运行的结果了,虽然刚开始可能看到的是这样的画面

但是没关系啊,这是由于程序还没有运行结束所导致的,只需要稍等片刻,就可以看到,画面就变成了正常的显示结果了

嗯,还好,最终得到的结果也算是差强人意了


如果说使用了pyscript有什么感受的话,那么,我想,主要的问题就是,运行的速度有亿点点慢,等待的过程让人略感煎熬,除此之外,倒还算不错

毕竟,不需要python的环境,只需要有一个浏览器,就可以开始python的编程了,还是蛮让人期待的。毕竟不是每个机器上都是有python环境的,但是大多数的机器上都是有浏览器的,不错,pyscript,未来可期啊!

【爬虫知识】2022年python最新前沿技术?通过pyscript写爬虫程序相关推荐

  1. 智能写作全景介绍:从最新前沿技术到行业落地解析

    9月3日晚7:00-8:30,百度大脑语言与知识技术峰会系列公开课<百度大脑智能创作平台前沿技术和行业落地>将在百度APP.CSDN.B站等渠道同步直播,拥有多年自动摘要与文本生成技术研发 ...

  2. php和python写爬虫-python和php哪个更适合写爬虫

    python和PHP相比较,python适合做爬虫.原因如下 抓取网页本身的接口 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如per ...

  3. 计算机论文摘要要介绍技术吗,★计算机前沿技术论文摘要范文计算机前沿技术论文摘要写(7页)-原创力文档...

    ★计算机前沿技术论文摘要范文计算机前沿技术论文摘要写 主要讨论计算机前沿技术在地球物理中的应用前景,涉及GPGPU,Larrabee,FPGA,Cell处理器的应用前景.下一代地震成像计算机.地震解释 ...

  4. python学到什么程度可以写爬虫-月薪2万的爬虫工程师,Python需要学到什么程度?...

    非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也没学所谓的四大名著,不知道那四大对找工作重要吗 ...

  5. Python老司机手把手带你写爬虫,整站下载妹子图,一次爽个够!

    其实很多编程语言都可以做爬虫,例如java.c#.php等等甚至excel都可以抓网页的图表,那么为什么我们要用Python呢?它简单.便捷,而且有好多库可以选择,可以说python是写爬虫的首选了! ...

  6. python学完那部分能写爬虫_[Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  7. python学到什么程度可以写爬虫-刚开始学习 Python 到可以写出一个爬虫大约需要多长时间...

    学习 Python 的三种境界 前言王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:"昨夜西风凋碧树,独上高楼,望尽天涯路'. ...

  8. 扒一扒这届春晚的幕后最新前沿技术

    首先祝大家新春快乐! 大家在牛年里好运连连. 牛转乾坤. 万事顺意. 阖家幸福. IT技术更上一层楼. 事业蒸蒸日上 每年除夕晚上必看的节目就是春晚了.说起来从1983年第一届春晚到现在,春晚已经陪伴 ...

  9. python学到什么程度可以写爬虫-小白python学到什么程度可以学习网络爬虫? ?...

    通常掌握简单的Python语法基础,对现有的网页组成,比如HTML.css.javascript等网页源码有一定的了解,就可以开始学爬虫了. Python关于爬虫的部分,其实是比较好学的,可以大致分为 ...

最新文章

  1. 如何获取元素在父级div里的位置_前端面试题--元素的BFC特性和实例
  2. 小巧优美的ORM框架-doodads
  3. 30道Web前端面试题,你能答出多少道?
  4. 7z制作自解压安装包
  5. P1832 A+B Problem(再升级)
  6. Java中static final用法小结
  7. STM32使用DMA发送串口数据
  8. Homebrew 更换阿里云镜像源
  9. 电子密封胶正常固化与非正常固化差别是什么?
  10. 情人节,请带走我给您的祝福
  11. 深入 Composer autoload
  12. 开源API查询IP地址归属信息
  13. 镁光闪存颗粒对照表_海力士、南亚、镁光内存颗粒编码解析,妈妈再也不用担心你买内存条了...
  14. DCOS(centos 7.4/7.6)
  15. zb怎么做渲染图_ZBrush渲染效果使用图文教程
  16. python中util是哪个包_使用Python的package机制如何简化utils包设计详解
  17. 一支口红用了5年_一支口红多久该扔掉?保质期过了还能用吗?
  18. 用php和mysql写一个注册登录页面
  19. Photoshop从入门到精通所有视频教程(43G)以及素材资料免费拿
  20. GPA Involution

热门文章

  1. 【课程开发设计】基于html 、css的网页简单制作
  2. 验证某城市电话号码正确性
  3. 【AI达人特训营】强化学习优化离散制造系统
  4. 锐捷It综合管理平台账号密码忘记解决方法
  5. 附近小程序复制成美团,商家对改版更加敏感
  6. java项目管理系统_基于SSM框架的JAVA科研项目管理系统
  7. PhotoShop 2022 mac相比以前的版本有哪些优势
  8. 用java编写“百度广告点击机器人”
  9. app+java代码模板_软件设计模式之模板方法模式(JAVA)
  10. Python第二天练习