我正在编写一个使用MechanicalSoup从Internet抓取一些数据的应用程序。我已经介绍了login
进程等。我最后的页面包含一个html
表。问题是数据不完整。有一个Show more
按钮,它允许用户显示完整数据。如下所示(在Inspect
下):
<a class="text-white btn btn-success" href="#" id="expand" style="margin-bottom:30px;">Show more</a>
我知道它调用jQuery
函数。问题是,MechanicalSoup
当然无法单击它,只能跟随其链接。
使用此代码,我可以找到此链接:
l = browser.find_link(id='expand')
print(type(l), l)
print(browser.follow_link(l))
print(browser.get_url())
我可以确定它是bs4.Element.Tag
,但是当我要关注它时(响应是200
,所以我猜它很好)-它没有遵循它。基本上,这会在页面URL中添加#
,阅读页面文本后我会发现有所不同(或者甚至尝试了launch_browser()
-它也显示了不完整的表):
<class 'bs4.element.Tag'> <a class="text-white btn btn-success" href="#" id="expand" style="margin-bottom:30px;">Show more</a>
<Response [200]>
<page_url_without_#_at_the_end>
我在做错什么吗?还是不可能在该库中进行这种链接?