擅长:python、mysql、java
<p>您的regex从网页中提取JSON字符串:</p>
<pre><code>searched_results = re.findall(r"(?<=,\"ou\":\")[^\s]+[\w](?=\",\"ow\")", results_source)
</code></pre>
<p>你删除的那些<code>"</code>卡特尔实际上很重要。这里的<code>\uxxxx</code>转义语法是特定于JSON(和Javascript)语法的;它们与Python的使用密切相关,但是不同(不多,但是当您有非BMP代码点时,这很重要)。在</p>
<p>如果保留引号,则可以将它们简单地解码为JSON:</p>
^{pr2}$
<p>更好的方法是使用HTML库来解析页面。{使用数据}可以得到}:</p>
<pre><code>import json
from bs4 import BeautifulSoup
soup = BeautifulSoup(results_source, 'html.parser')
search_results = [json.loads(t.text)['ou'] for t in soup.select('.rg_meta')]
</code></pre>
<p>这将把每个<code><div class="rg_meta" ...></code>元素的文本内容作为JSON数据加载,并从每个生成的字典中提取<code>ou</code>键。不需要正则表达式。在</p>