【问题标题】:Python 3 : detect ajax queriesPython 3:检测 ajax 查询
【发布时间】:2018-10-10 17:58:27
【问题描述】:

我尝试在 Python 和 BeautifulSoup 的帮助下抓取一些网站。
当网站使用带有这种 URL 的 ajax 查询时:

https://techcrunch.com/wp-json/tc/v1/magazine?page=2&_embed=true,

我可以获取 JSON 内容并对其进行分析。 但是如何检测此链接以自动执行查询以获取 JSON 内容?

谢谢, 比率

【问题讨论】:

  • 有什么问题?是不是网址不是以.json结尾,所以不知道去抢?

标签: python ajax


【解决方案1】:

如果您还没有使用 BeautifulSoup,我建议您使用 requests 库。

假设您有可靠的方法来抓取这些网址,您可以执行以下操作:

    import requests

    # ...

    response = requests.get('https://techcrunch.com/wp-json/tc/v1/magazine?page=2&_embed=true')

    try:
      json_response = response.json()
      # GET request returned a JSON response
      # ...

    except ValueError:
      # GET request did not return JSON response
      # ...

【讨论】:

  • 感谢您的回答。其实这部分工作还可以。我无法实现的是自动找到链接。不手动检查怎么知道'techcrunch.com/wp-json/tc/v1/magazine?page=2&_embed=true'的存在?
  • 啊。在这种情况下,我会这样做:soup = BeautifulSoup(your_html) for link in soup.find_all('a', href=True): # do something with requests.get(link['href'])
  • 感谢您的建议。我试试看。
  • 当然可以,如果还有什么不清楚的地方请告诉我。这并没有像我希望的那样格式化。
  • 感谢您的解决方案。我可以知道找到我的链接并自动获取 json 内容!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多