<p>我查看了页面的源代码,在纯HTML中,有25个<code><a></code>元素具有href属性。这是你的脚本正在寻找的25个链接。在</p>
<p>另外,我不确定页面上的哪些事件是您真正要查找的,但是我想打印出来的这些url中的许多(如果不是全部)实际上并不是您要查找的事件(稍后将对此进行详细介绍)。在</p>
<p>当您在浏览器中访问页面时,找不到其他链接的原因是,它们是使用JavaScript生成的。beauthoulsoup只查看纯HTML,不运行任何JavaScript,因为它只是一个分析和修改静态HTML或XML文件的工具。来自<a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/" rel="nofollow">their documentation</a>:</p>
<blockquote>
<p>Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree.</p>
</blockquote>
<p>您需要利用JavaScript引擎来实际生成这些元素,或者找出这个页面从哪里提取事件列表,然后到那里获取数据。在</p>
<p>您可以尝试使用类似<a href="http://selenium-python.readthedocs.io/" rel="nofollow">Selenium</a>的真正的浏览器,它甚至允许您在DOM中搜索类似于BeautifulSoup的DOM,这样就不需要同时使用BeautifulSoup。但是,如果您坚持使用beauthoulsoup,那么可以使用Selenium来控制浏览器,以便它使用JavaScript生成元素(因为浏览器是自动执行的),然后让Selenium通过调用以下命令(<code>driver.page_source</code>只会得到<code>requests</code>提供给您的内容)来控制浏览器:</p>
<pre class="lang-python prettyprint-override"><code>html = driver.execute_script("return document.getElementsByTagName('html')[0].innerHTML")
</code></pre>
<p>还有一些无头浏览器(“headless”意味着它没有GUI,所以你永远也看不到它,也不需要显示器),如果你愿意,你可以使用它,或者你的脚本需要在没有显示器的情况下运行(我知道,如果你没有连接显示器,Firefox就不会启动)。如果你真的愿意的话,我可以想象有一种方法可以在这些浏览器中使用beauthoulsoup。在</p>
<p>{{6}你可以用一个{cd3}函数把数据从cd3}中拉出来,如果你可以用cd3}把这个文件从cd6}中取出来。在</p>
<p>如果您使用的是一个HTML解析器(例如beauthulsoup、Selenium),那么您一定应该尝试缩小搜索这些链接的范围,方法是在页面上找到包含所有这些<code><a></code>元素的元素,然后在元素对象上调用<code>.find_all("a", href=True)</code>(对于beauthulsoup)或<code>.find_elements_by_css_selector("a[href]")</code>(对于Selenium)(是的,你能做到的,这太棒了。在</p>
<p>我不确定你的任务的具体标准,所以我不知道这些选项是否与它们有冲突。但我希望我至少给你指明了正确的方向。在</p>