# 概述
SingleFile的python实现
# 依赖
chrome浏览器 <br>
基于DrissionPage('4.0.4.21')进行修改,因此需要安装chrome
# 安装
```
pip install pySingleFile
```
# 使用示例
## 打印资源示例
```
from pySingleFile import SingleFile
u = "https://www.baidu.com/"
sf = SingleFile(u)
# 打印资源示例
sf.get_resource()
print("image资源有:")
for img in sf.images:
print(img["url"])
if img["content"]:
print(img["content"][:20])
print(img["data_uri"][:50])
print("\n")
print("\n")
print("JavaScript资源有:")
for js in sf.javascripts:
print(js["url"])
if js["content"]:
print(js["content"][:50])
print(js["data_uri"][:50])
print("\n")
print("\n")
print("CSS资源有:")
for css in sf.stylelinks:
print(css["url"])
if css["content"]:
print(css["content"][:50])
print(css["data_uri"][:50])
print("\n")
```
## result
```
image资源有:
https://pss.bdstatic.com/static/superman/img/topnav/newfanyi-da0cea8f7e.png
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00X'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgA
https://pss.bdstatic.com/static/superman/img/topnav/newxueshuicon-a5314d5c83.png
b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00X'
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgA
JavaScript资源有:
https://pss.bdstatic.com/static/superman/amd_modules/tslib-c95383af0c.js
define('tslib', [
'require',
'amd_modules/
data:text/javascript;base64,ZGVmaW5lKCd0c2xpYicsIF
https://hectorstatic.baidu.com/cd37ed75a9387c5b.js
(function(){ var _0x3c93=['SmlrTGY=','Z0xGUXQ=','b
data:text/javascript;base64,KGZ1bmN0aW9uKCl7IHZhci
CSS资源有:
https://pss.bdstatic.com/r/www/static/font/cosmic/pc/cos-icon_99f656e.css
@font-face {
font-family: "cos-icon"; /* Proje
data:text/css;base64,QGZvbnQtZmFjZSB7CiAgICBmb250L
https://pss.bdstatic.com/static/superman/css/ubase_sync-d600f57804.css?v=md5
.sui-scrollbar-container{position:relative;overflo
data:text/css;base64,LnN1aS1zY3JvbGxiYXItY29udGFpb
```
## 离线保存示例
```
from pySingleFile import SingleFile
u = "https://www.baidu.com/"
sf = SingleFile(u)
# 离线保存示例
sf.save()
```
## result
```
文件保存为:百度一下,你就知道.html
```
Raw data
{
"_id": null,
"home_page": "https://github.com/MrWQ/pySingleFile",
"name": "pySingleFile",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "SingleFile",
"author": "ordar",
"author_email": "w666q@qq.com",
"download_url": "https://files.pythonhosted.org/packages/d9/69/56250f1163a2da937f12589383dba178a52a0812e48525b0741d6fa993ee/pySingleFile-0.1.4.tar.gz",
"platform": null,
"description": "# \u6982\u8ff0\nSingleFile\u7684python\u5b9e\u73b0\n\n# \u4f9d\u8d56\nchrome\u6d4f\u89c8\u5668 <br>\n\u57fa\u4e8eDrissionPage('4.0.4.21')\u8fdb\u884c\u4fee\u6539\uff0c\u56e0\u6b64\u9700\u8981\u5b89\u88c5chrome\n\n# \u5b89\u88c5\n```\npip install pySingleFile\n```\n\n# \u4f7f\u7528\u793a\u4f8b\n## \u6253\u5370\u8d44\u6e90\u793a\u4f8b\n```\nfrom pySingleFile import SingleFile\nu = \"https://www.baidu.com/\"\nsf = SingleFile(u)\n# \u6253\u5370\u8d44\u6e90\u793a\u4f8b\nsf.get_resource()\n\nprint(\"image\u8d44\u6e90\u6709\uff1a\")\nfor img in sf.images:\n print(img[\"url\"])\n if img[\"content\"]:\n print(img[\"content\"][:20])\n print(img[\"data_uri\"][:50])\n print(\"\\n\")\n\nprint(\"\\n\")\nprint(\"JavaScript\u8d44\u6e90\u6709\uff1a\")\nfor js in sf.javascripts:\n print(js[\"url\"])\n if js[\"content\"]:\n print(js[\"content\"][:50])\n print(js[\"data_uri\"][:50])\n print(\"\\n\")\n\nprint(\"\\n\")\nprint(\"CSS\u8d44\u6e90\u6709\uff1a\")\nfor css in sf.stylelinks:\n print(css[\"url\"])\n if css[\"content\"]:\n print(css[\"content\"][:50])\n print(css[\"data_uri\"][:50])\n print(\"\\n\")\n```\n## result\n```\nimage\u8d44\u6e90\u6709\uff1a\nhttps://pss.bdstatic.com/static/superman/img/topnav/newfanyi-da0cea8f7e.png\nb'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x00X'\ndata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgA\n\nhttps://pss.bdstatic.com/static/superman/img/topnav/newxueshuicon-a5314d5c83.png\nb'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x00X'\ndata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgA\n\n\nJavaScript\u8d44\u6e90\u6709\uff1a\nhttps://pss.bdstatic.com/static/superman/amd_modules/tslib-c95383af0c.js\ndefine('tslib', [\n 'require',\n 'amd_modules/\ndata:text/javascript;base64,ZGVmaW5lKCd0c2xpYicsIF\n\nhttps://hectorstatic.baidu.com/cd37ed75a9387c5b.js\n(function(){ var _0x3c93=['SmlrTGY=','Z0xGUXQ=','b\ndata:text/javascript;base64,KGZ1bmN0aW9uKCl7IHZhci\n\n\n\nCSS\u8d44\u6e90\u6709\uff1a\nhttps://pss.bdstatic.com/r/www/static/font/cosmic/pc/cos-icon_99f656e.css\n@font-face {\n font-family: \"cos-icon\"; /* Proje\ndata:text/css;base64,QGZvbnQtZmFjZSB7CiAgICBmb250L\n\nhttps://pss.bdstatic.com/static/superman/css/ubase_sync-d600f57804.css?v=md5\n.sui-scrollbar-container{position:relative;overflo\ndata:text/css;base64,LnN1aS1zY3JvbGxiYXItY29udGFpb\n```\n\n## \u79bb\u7ebf\u4fdd\u5b58\u793a\u4f8b\n```\nfrom pySingleFile import SingleFile\nu = \"https://www.baidu.com/\"\nsf = SingleFile(u)\n# \u79bb\u7ebf\u4fdd\u5b58\u793a\u4f8b\nsf.save()\n```\n## result\n```\n\u6587\u4ef6\u4fdd\u5b58\u4e3a\uff1a\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053.html\n```\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Python Implementation of SingleFile",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/MrWQ/pySingleFile"
},
"split_keywords": [
"singlefile"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "033ef19e38d1d0fbc093678688681aa333ca960fa7fc9aa54f9a8d090091e5a2",
"md5": "bfb26678151cab3331eebd4a037ed896",
"sha256": "ac57d1c19df5fab029daf5e164f5d3ec3b9092813f64f731b984c4769aa8f0fb"
},
"downloads": -1,
"filename": "pySingleFile-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bfb26678151cab3331eebd4a037ed896",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 180758,
"upload_time": "2024-08-02T02:22:58",
"upload_time_iso_8601": "2024-08-02T02:22:58.536183Z",
"url": "https://files.pythonhosted.org/packages/03/3e/f19e38d1d0fbc093678688681aa333ca960fa7fc9aa54f9a8d090091e5a2/pySingleFile-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d96956250f1163a2da937f12589383dba178a52a0812e48525b0741d6fa993ee",
"md5": "4f0e078a09a7f63f7c6811046fc15c09",
"sha256": "a09a46b273ef7032dfec06bced4cc73843423ccb5ece9089df856a5265ff2cc2"
},
"downloads": -1,
"filename": "pySingleFile-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "4f0e078a09a7f63f7c6811046fc15c09",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 134312,
"upload_time": "2024-08-02T02:23:00",
"upload_time_iso_8601": "2024-08-02T02:23:00.925759Z",
"url": "https://files.pythonhosted.org/packages/d9/69/56250f1163a2da937f12589383dba178a52a0812e48525b0741d6fa993ee/pySingleFile-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-02 02:23:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MrWQ",
"github_project": "pySingleFile",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pysinglefile"
}