title: Parsing a script tag with dicts in BeautifulSoup
body: <p>Working on a partial answer to <a href="https://stackoverflow.com/questions/44957324/python-issue-scraping-with-beautifulsoup/44960710#44960710">this</a> question, I came across a <code>bs4.element.Tag</code> that is a mess of nested dicts and lists (<code>s</code>, below).  </p>
  
  <p>Is there a way to return a list of urls contained in <code>s</code> <em>without</em> using <code>re.find_all</code>?  Other comments regarding the structure of this tag are helpful too.</p>
  
  <pre><code>from bs4 import BeautifulSoup
  import requests
  
  link = 'https://stackoverflow.com/jobs?med=site-ui&amp;ref=jobs-tab&amp;sort=p'
  r = requests.get(link)
  soup = BeautifulSoup(r.text, 'html.parser')
  
  s = soup.find('script', type='application/ld+json')
  
  ## the first bit of s:
  # s
  # Out[116]: 
  # &lt;script type="application/ld+json"&gt;
  # {"@context":"http://schema.org","@type":"ItemList","numberOfItems":50,
  </code></pre>
  
  <p>What I've tried: </p>
  
  <ul>
  <li>randomly perusing through methods with tab completion on <code>s</code>.</li>
  <li>picking through the <a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/#tag" rel="nofollow noreferrer">docs</a>.</li>
  </ul>
  
  <p>My problem is that <code>s</code> only has 1 attribute (<code>type</code>) and doesn't seem to have any child tags.</p>