擅长:python、mysql、java
<p>虽然尝试使用Beautifulsoup的<code>evaluateJavaScript</code>方法来实现这一点很有诱惑力,但最终Beautifulsoup是一个<a href="https://stackoverflow.com/a/23679526/1711232">parser</a>而不是一个交互式的web浏览客户端。</p>
<p>您应该认真考虑使用硒来解决这个问题,如<a href="https://stackoverflow.com/a/27734608/1711232">this answer</a>所示。有相当好的<a href="https://selenium-python.readthedocs.org/" rel="nofollow noreferrer">Python bindings</a>可用于硒。</p>
<p>您可以使用selenium找到元素并单击它,然后将页面传递给Beautifulsoup,并使用现有代码获取链接。</p>
<p>或者,可以使用onclick处理程序中列出的Javascript。我从源代码中提取了这个:<code>EntityQuery('Ns=pPopularityScore%7c1&No=30&props=15292&dims=530&As=&N=0+3+10500915');</code>。每个页面的<code>No</code>参数以15递增,但是<code>props</code>让我猜测。不过,我建议不要这么做,只要像客户一样使用selenium与网站交互就行了。这对他们这边的变化也更加有力。</p>