<p>我会为其中一家公司做的。但我要你坚定地保证你不会告诉任何人我已经教过你怎么做。在</p>
<p>获取页面的HTML副本并将其保存在本地。在</p>
<pre><code>>>> import urllib.request
>>> import re
>>> url = 'https://finance.yahoo.com/quote/AAPL/?p=AAPL'
>>> htmlfile = urllib.request.urlopen(url)
>>> htmltext = htmlfile.read()
>>> open('temp.htm', 'w').write(str(htmltext))
533900
</code></pre>
<p>检查页面,并复制粘贴要在该页面和类似页面中标识的项目。把它放在评论中以供参考。在</p>
^{pr2}$
<p>把它保存在一个变量中,比如,<code>exp</code>。在</p>
<pre><code>>>> exp = '<span class="Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)" data-reactid="35"><! react-text: 36 >161.38<'
</code></pre>
<p>验证字符串中没有多个空白字符。如果存在,则将整个空格字符串替换为\s+</p>
<pre><code>>>> exp.find(' ')
-1
</code></pre>
<p>在字符串<strong>中对regex</strong>有意义的每个字符前加一个“\”字符。在</p>
<pre><code>>>> re.sub(r'[().]', lambda m: '\\'+m.group(), exp)
'<span class="Trsdu\\(0\\.3s\\) Fw\\(b\\) Fz\\(36px\\) Mb\\(-4px\\) D\\(ib\\)" data-reactid="35"><! react-text: 36 >161\\.38<'
</code></pre>
<p>显示并检查结果。在</p>
<pre><code>>>> regex = '<span class="Trsdu\\(0\\.3s\\) Fw\\(b\\) Fz\\(36px\\) Mb\\(-4px\\) D\\(ib\\)" data-reactid="35"><! react-text: 36 >([^<]+)<'
</code></pre>
<p>使用regex查找目标项。在</p>
<pre><code>>>> re.findall(regex, str(htmltext))
['161.38']
</code></pre>