上一篇
Selenium魔法棒
🔮 场景:需要与浏览器交互时(如抓取动态网页)
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://example.com') result = driver.execute_script('return document.title') print(result) # 🚀 直接获取JS执行的标题
PyExecJS轻量级咒语
✨ 优势:无需浏览器,适合执行简单JS函数
import execjs js_code = "function add(a,b){return a+b}" ctx = execjs.compile(js_code) print(ctx.call('add', 3, 5)) # 🧮 输出:8
Node.js通信术
🌐 适用:复杂数据交换或微服务架构
// Node.js服务器 (server.js) const http = require('http'); http.createServer((req, res) => { res.end('Hello from Node.js'); }).listen(3000);
# Python客户端 import requests response = requests.get('http://localhost:3000') print(response.text) # 📡 输出:Hello from Node.js
Python的转义盾牌
🛡️ 规则:用re.escape()
自动转义特殊字符
import re pattern = re.escape('*.txt') # 将*转义为\* print(re.findall(pattern, 'file.txt')) # ✅ 安全匹配
JavaScript的转义秘籍
📜 ES2025新特性:RegExp.escape()
原生支持
const text = "Hello (World)"; const regex = new RegExp(RegExp.escape(text), 'g'); console.log(regex.test("Hello (World)")); // ✅ 输出:true
跨语言通用口诀
🗝️ 记住:.*+?^${}()|[\]\
在正则中需转义为\\.*+?^${}()|[\\]
混合架构崛起
🔥 案例:用Puppeteer抓取动态内容 + Python分析数据
// 无限滚动抓取 async function scrape(url) { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(url); await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight)); // ...抓取逻辑 }
桌面应用新宠
🖥️ PPtink框架:Vue.js前端 + Python后端,一键生成跨平台应用
# main.py from pptink import App app = App() @app.route('/api/data') def get_data(): return {'message': 'Hello from Python'} app.run()
re.escape()
或RegExp.escape()
🎉 总结:Python与JavaScript的集成已进入“无缝衔接”时代,结合2025年的转义新特性,开发者可以更安全、高效地实现跨语言协作!
本文由 业务大全 于2025-08-26发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/wenda/733707.html
发表评论