首页 > 解决方案 > Webscrape JS 呈现网站

问题描述

我试图弄清楚如何通过 JavaScript 呈现这个网站https://cnx.org/search?q=subject:%22Arts%22 。当我查看页面源代码时,代码很少。我知道 BeautifulSoup 不能做到这一点。我已经尝试过 Selenium,但我是新手。关于如何抓取该网站的任何建议?

标签: javascriptpython-3.xseleniumweb-scrapingbeautifulsoup

解决方案


您可以使用网页直接从(使用 JavaScript)获取数据的 API。https://archive.cnx.org/search?q=subject:%22Arts%22它返回 JSON,所以你只需要解析 JSON。

import requests
import json
url = "https://archive.cnx.org/search?q=subject:%22Arts%22"
r = requests.get(url)
j = r.json()
# Print the json object
print (json.dumps(j, indent=4, sort_keys=True))
# Or print specific values
for i in j['results']['items']:
    print (i['title'])
    print(i['summarySnippet'])

推荐阅读