【发布时间】:2017-04-05 15:20:10
【问题描述】:
我们可以使用 Scrapy 从 Javascript 加载的网页中获取内容吗?
我正在尝试从this 页面中抓取使用示例, 但由于它们是使用 Javascript 作为 JSON 对象加载的,因此我无法使用 Scrapy 获取它们。
您能否建议处理此类问题的最佳方法?
【问题讨论】:
标签: python web-scraping scrapy
我们可以使用 Scrapy 从 Javascript 加载的网页中获取内容吗?
我正在尝试从this 页面中抓取使用示例, 但由于它们是使用 Javascript 作为 JSON 对象加载的,因此我无法使用 Scrapy 获取它们。
您能否建议处理此类问题的最佳方法?
【问题讨论】:
标签: python web-scraping scrapy
打开浏览器的开发人员工具并查看“网络”选项卡。如果您在该页面上点击“下一步”按钮足够多,它将发出一个新请求:
删除 JSONP 参数后,URL 非常简单:
https://corpus.vocabulary.com/api/1.0/examples.json?query=unalienable&maxResults=24&startOffset=24&filter=0
通过发出最少数量的请求,您的蜘蛛会很快。
如果您只想模拟一个完整的浏览器并执行 JavaScript,您可以使用 Selenium 或 Scrapinghub's Splash(及其对应的 Scrapy plugin)之类的东西。
【讨论】:
json.loads解析它:stackoverflow.com/questions/18171835/…