python - 网页抓取 redoc web api
问题描述
我目前正在学习网络抓取,我的任务之一是使用使用Redoc 的 API 文档:OpenAPI/Swagger-generated API 参考文档:https : //github.com/Redocly/redoc
为了学习结构,我去了他们的 github 并点击了现场演示。
我正在使用 Scrapy,这是我用来简单地提取网站 HTML 的代码:
import scrapy
class QuoteSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'http://redocly.github.io/redoc/'
]
def parse(self, response):
page = response.url.split("/")[-2]
filename = f'quotes-{page}.html'
with open(filename, 'wb') as f:
f.write(response.body)
问题是,在刮板运行后,如预期的那样创建了一个新文件,但是它缺少大部分 HTML(在容器 div 内)。
你们有没有人遇到过这个问题,尤其是redoc?如果是这样,您是如何解决的?您是否认为这是不允许对其进行抓取的此文档生成器的配置?
谢谢!
解决方案
推荐阅读
- javascript - This.state 只返回 1 项,在控制台日志中我看到 2
- java - 将数据从 PostgreSQL 摄取到 Druid 时出现类型转换错误
- javascript - 如何确定更改 url 的 javascript 代码行?
- android - 在android中为图像创建自定义框架
- javascript - 根据模式返回布尔值
- java - 如何使用 JDBC 从 ResultSet 中仅获取 5 行?
- flutter - 推送到下一个屏幕时在 Navigator.pushNamed 中找不到“参数”
- javascript - 如何使用 FlexBox 为组件设置边距?
- cmake - 如何添加 cmake 编译器路径(生成器)以在 ROS 中运行 catkin_make 命令?
- sql - 表和视图之间的内连接给出了两者的笛卡尔积