一个使用pyppeteer进行渲染的请求库
Project description
这是一个使用pyppeteer对指定的请求url进行渲染的库
安装
pip install smawe-pyppeteer
快速开始
import asyncio
from smawe_pyppeteer.utils import get
if __name__ == '__main__':
from pathlib import Path
async def main():
script = "document.cookie"
r = await get(
"http://www.fangdi.com.cn/index.html", auto_close=True, headless=False, delay=5, pretend=True,
user_data_dir=Path("./test").resolve(),
args=[], script=script, callable=handle,
enabled_interception=True, enabled_maximize=False, cookies={"name": "k1", "value": "v1"}
)
print(r.text)
print(r.request)
print(r.status)
print(r.script_result)
print(r.cookies)
async def handle(request):
print(request.url)
await request.continue_()
asyncio.get_event_loop().run_until_complete(main())
参数解释
async def get(
url, delay=None, wait_for=None, page_width=None, page_height=None,
enabled_interception=None, script=None, callable=None, cookies=None,**kwargs
):
使用pyppeteer对指定url进行渲染
- param url: url
- param wait_for: css选择器或者xpath, 等待指定的元素出现在页面上
- param delay: 打开指定url后要等待的秒数, 默认为None不进行等待(同时指定了delay和wait_for,则先delay,然后再wait_for)
- param page_width: 页面宽度
- param page_height: 页面高度
- param enabled_interception: 是否启用请求拦截
- param callable: 启动了请求拦截后要调用的协程函数, 它接受单个request参数, 未提供则使用默认实现.
- param script: js表达式/js函数, 脚本在最后才执行, 即page关闭前执行. 结果可通过PyppeteerResponse.script_result属性获取.
- param cookies: 一个字典或者包含字典的可迭代对象, 在当前打开的page中设置cookie(在访问页面之前设置), e.g. {"name": "n1", "value": "v1"}
- param kwargs(包含以下关键字参数):
- headless(bool): 是否启动无头模式, 默认是True.(启用了此参数(参数被设置为True时), auto_close被强制设为True)
- path(str): 要运行的 Chromium 或 Chrome 可执行文件的路径.
- auto_close(bool): 脚本完成后自动关闭浏览器进程. 默认为 True.
- window_width(str): 浏览器窗口宽度, 以像素为单位.注意window_width和window_height必须同时设置, 否则会不生效
- window_height(str): 浏览器窗口高度, 以像素为单位.注意window_width和window_height必须同时设置, 否则会不生效
- args(list[str]): 传递给浏览器进程的附加参数.
- enabled_maximize(bool): 是否启用窗口最大化, 默认为True, 如果同时指定了注意window_width和window_height, 此参数不会生效
- return: PyppeteerResponse
包源码中已经有参数解释了, 可自行查看
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
smawe_pyppeteer-0.0.2.tar.gz
(7.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smawe_pyppeteer-0.0.2.tar.gz.
File metadata
- Download URL: smawe_pyppeteer-0.0.2.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bf96044572f43cf65499736575652370919ce950e089d2b4c543b75d05f22c3
|
|
| MD5 |
a2382a039c3244a796f1a04f039f8147
|
|
| BLAKE2b-256 |
6fb423b4e75009f321230d8ecb8695cd0edb1f18c6862fb100e459ee0cc3456c
|
File details
Details for the file smawe_pyppeteer-0.0.2-py3-none-any.whl.
File metadata
- Download URL: smawe_pyppeteer-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efa430fd4fa42f4c309ac5748a89cf537ba7ef7d31788f8f0790fa331328800e
|
|
| MD5 |
87b649cf985f7976f5f4dc73e1b5567c
|
|
| BLAKE2b-256 |
b32e644e08a283b63d05478f3ebb0836cd3e6e4406e4051554c946e2f023c799
|