mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
更新文档
This commit is contained in:
parent
1f914ea5a3
commit
c2f13213d7
@ -2,6 +2,7 @@
|
||||
"""
|
||||
实用工具
|
||||
"""
|
||||
from FlowViewer import Listener, RequestMan
|
||||
|
||||
from .session_element import make_session_ele
|
||||
from .easy_set import get_match_driver
|
||||
from FlowViewer import Listener
|
||||
|
@ -8,9 +8,9 @@ DrissionPage,即 driver 和 session 组合而成的 page。
|
||||
可兼顾 selenium 的便利性和 requests 的高效率,
|
||||
更棒的是,它的使用方式非常简洁和人性化,代码量少,对新手友好。
|
||||
|
||||
点击打开:📒[使用文档](http://g1879.gitee.io/drissionpage)
|
||||
**使用文档:** 📒[点击打开](http://g1879.gitee.io/drissionpage)
|
||||
|
||||
**交流QQ群:** 897838127
|
||||
**QQ群:** 897838127
|
||||
|
||||
**联系邮箱:** g1879@qq.com
|
||||
|
||||
@ -218,7 +218,7 @@ r = requests.get(url)
|
||||
with open(f'{save_path}\\img.png', 'wb') as fd:
|
||||
for chunk in r.iter_content():
|
||||
fd.write(chunk)
|
||||
|
||||
|
||||
# 使用 DrissionPage:
|
||||
page.download(url, save_path, 'img') # 支持重命名,处理文件名冲突,自动创建目标文件夹
|
||||
```
|
||||
@ -288,4 +288,3 @@ Git 命令学习
|
||||
如果本项目对您有所帮助,不妨请作者我喝杯咖啡 :)
|
||||
|
||||

|
||||
|
||||
|
@ -8,7 +8,7 @@ DrissionPage,即 driver 和 session 组合而成的 page。
|
||||
可兼顾 selenium 的便利性和 requests 的高效率,
|
||||
更棒的是,它的使用方式非常简洁和人性化,代码量少,对新手友好。
|
||||
|
||||
点击打开:📒[使用文档](http://g1879.gitee.io/drissionpage)
|
||||
|
||||
|
||||
**交流QQ群:** 897838127
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
* [DataRecorder](https://gitee.com/g1879/DataRecorder)
|
||||
* [ListPage](https://gitee.com/g1879/ListPage)
|
||||
* [DownloadKit](https://gitee.com/g1879/DownloadKit)
|
||||
* [FlowViewer](http://g1879.gitee.io/flowviewer)
|
||||
* [Demos](https://gitee.com/g1879/DrissionPage-demos)
|
||||
|
@ -1,60 +1,35 @@
|
||||
|
||||
|
||||
# 监听浏览器网络数据
|
||||
|
||||
许多网页的数据来自接口,在网站使用过程中动态加载,如使用 JS 加载内容的翻页列表。
|
||||
许多网页的数据来自接口,在网站使用过程中动态加载,如使用 JS 加载内容的翻页列表。
|
||||
|
||||
这些数据通常以 json 形式发送,浏览器接收后,对其进行解析,再加载到 DOM 相应位置。
|
||||
这些数据通常以 json 形式发送,浏览器接收后,对其进行解析,再加载到 DOM 相应位置。
|
||||
|
||||
以前,我们从 DOM 中去获取解析后数据的,可能存在
|
||||
做数据采集的时候,我们往往从 DOM 中去获取解析后数据的,可能存在 数据不全、加载响应不及时、难以判断加载完成等问题。
|
||||
|
||||
## 控制浏览器同时监听请求
|
||||
因此开发了一个监听器,专门用于抓取 Chrome 浏览器数据包。
|
||||
|
||||
复制此代码可直接运行查看结果。
|
||||
由于该工具不依赖 DrissionPage,现已独立发布为一个库,但仍然可以在 DrissionPage 中导入。
|
||||
|
||||
|
||||
|
||||
!> 为了便于维护,该工具用法请异步 [FlowViewer](https://gitee.com/g1879/FlowViewer) 查看。
|
||||
|
||||
#
|
||||
|
||||
# 简单示例
|
||||
|
||||
```python
|
||||
'''
|
||||
如果监听特定请求的Chrome浏览器数据,可以采用如下代码
|
||||
'''
|
||||
p = MixPage(driver_options=do, session_options=False)
|
||||
#监听浏览器
|
||||
l =Listener(p)
|
||||
# 找到需要监听的链接
|
||||
l.listen('JobSearchResult.aspx',count=10,asyn=True)
|
||||
p.ele(".next-page PageNumber").click(by_js=True)
|
||||
from DrissionPage.tools import Listener
|
||||
|
||||
for i in l.steps():
|
||||
scode = i[0].body
|
||||
# 一旦数据出来,立即停止加载
|
||||
p.stop_loading()
|
||||
#使用解析网页
|
||||
p.ele(".next-page PageNumber").click(by_js=True)
|
||||
#停止监听,可以设置条件
|
||||
l.stop()
|
||||
```
|
||||
|
||||
|
||||
## 监听指定端口的请求
|
||||
|
||||
复制此代码可直接运行查看结果。
|
||||
|
||||
|
||||
```python
|
||||
'''
|
||||
如果仅仅是监听Chrome浏览器的请求可以采用下面的代码
|
||||
'''
|
||||
from FlowViewer import Listener
|
||||
#监听有端口的浏览器
|
||||
l =Listener()
|
||||
|
||||
l.listen(None,count=None,asyn=True)
|
||||
|
||||
for i in l.steps():
|
||||
print(i[0].url)
|
||||
print(i[0].body)
|
||||
|
||||
#停止监听,可以设置条件或者跳出循环
|
||||
l.stop()
|
||||
listener =Listener(9222) # 创建监听器,监听9222端口的浏览器
|
||||
listener.set_targets('JobSearchResult.aspx') # 设置需要监听的url
|
||||
|
||||
listener.listen(count=10) # 开始监听,接收到10条目标url的请求后停止
|
||||
|
||||
for i in listener.steps():
|
||||
print(i[0].body) # 打印实时打印监听到的内容
|
||||
|
||||
listener.stop() #停止监听
|
||||
```
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user