【问题标题】:Python Scrape JSON from webpagePython 从网页中抓取 JSON
【发布时间】:2019-06-25 14:48:12
【问题描述】:

我正在尝试从网页中抓取 javascript 变量的内容。该网页是一个搜索页面,当您查看其来源时,页面上的内容类似于

<script>var test1='balah';var catalog={};var test2='blah'</script>

catalog 是一个大的嵌套 json 结构字符串。

我知道如何解析它,但是我如何从网页中获取 json 字符串,假设我已经在单个字符串变量中拥有完整页面的 html 内容?

【问题讨论】:

  • Beautiful Soup (crummy.com/software/BeautifulSoup) 始终是一个不错的起点,尽管如果您的目标数据以 HTML 而非 &lt;script&gt; 标记内呈现会更好。您也许可以使用 Beautiful Soup 更轻松地获取 &lt;script&gt; 标签,然后将这些内容输入到其他内容中。
  • 试试下面的链接。它使用漂亮的肥皂、python 和 selenium 来实现网页报废medium.freecodecamp.org/…

标签: python json web-scraping


【解决方案1】:

使用正则表达式怎么样?

# -*- coding: utf-8 -*-
import re

content = "<script>var test1='balah';var catalog={'Year':'2019'};var test2='blah'</script>"
p = re.compile(r'[\d\D]+catalog=([\d\D]+?);')
m = p.match(content)
if m:
    result = m.group(1)
    print result

结果将是{'Year':'2019'}

【讨论】:

  • 需要注意的一点是,您需要确保正则表达式仅匹配您要查找的 javascript 字符串。
猜你喜欢
  • 2018-12-13
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 2022-01-27
相关资源
最近更新 更多