目录
- 什么是飞溅
- 飞溅安装
-
HTTP API
- render.html
- render.png
- render.jpeg
- render.har
- render.json
- 执行
- 跑
- 参考
什么是飞溅
Scrapy的开发者scrapinghub开发的无头浏览器。您也可以通过使用scrapy-splash模块来使用Scrapy。您可以做的是
- 应用JavaScript后获取HTML,页面截图等
- 获取HAR格式的渲染信息
- 并行处理多页
- 将自己的JavaScript代码应用于页面
- 编写脚本以供Lua浏览
例如,
。
飞溅安装
安装泊坞窗
1 2 3 4 | # Linux sudo docker pull scrapinghub/splash # Mac docker pull scrapinghub/splash |
3.创建并启动容器
1 2 3 4 | # Linux sudo docker run -it -p 8050:8050 scrapinghub/splash # Mac docker run -it -p 8050:8050 scrapinghub/splash |
访问
http://本地主机:8050 /并确认启动
*以
结尾
HTTP API
使用
Splash,您可以使用HTTP API轻松获取页面信息。这是一个示例,但是如果您想了解更多详细信息,请参阅官方文档。
render.html
获取页面html
1 2 3 4 5 6 7 8 | import requests url = 'https://qiita.com/derodero24' res = requests.get('http://localhost:8050/render.html', params={'url': url, 'wait': 0.5}) with open('test.html', 'wb') as f: f.write(res.content) |
选件(部分)
-
url :显示的URL -
timeout :渲染超时[秒]。 (默认值为30)默认最大值为90秒,但是启动Splash时,可以通过命令行选项--max-timeout 覆盖它。 -
wait :加载页面后的等待时间[秒](默认为0)。必须小于timeout 的值。 -
js_source :页面中执行的JavaScript代码 -
viewport :浏览器显示大小,"