Python 3.x BeautifulSoup:只有在同一URL中单击jvector map后才能访问刮取HTML

Python 3.x BeautifulSoup:只有在同一URL中单击jvector map后才能访问刮取HTML,python-3.x,beautifulsoup,jvectormap,Python 3.x,Beautifulsoup,Jvectormap,我正在尝试编写一个python脚本来自动化我每天在Groupons商业界面网站(对于卖家)上执行的一些任务,他们有一个用于订单的api,但不用于po,所以我正在尝试编写一些东西来收集数据 但是,要选择您的国家/地区,您需要登录,您会看到一张jvector地图,您必须单击该地区才能访问该地图 您不能右键单击页面以查看来源,但可以检查要单击的国家/地区的元素 谁能给我指一下正确的方向吗 非常感谢。该地图的代码在页面源代码中不可用,因为它是使用AJAX呈现的 您仍然可以使用无头浏览器(如)和(操作DO

我正在尝试编写一个python脚本来自动化我每天在Groupons商业界面网站(对于卖家)上执行的一些任务,他们有一个用于订单的api,但不用于po,所以我正在尝试编写一些东西来收集数据

但是,要选择您的国家/地区,您需要登录,您会看到一张jvector地图,您必须单击该地区才能访问该地图

您不能右键单击页面以查看来源,但可以检查要单击的国家/地区的元素

谁能给我指一下正确的方向吗


非常感谢。

该地图的代码在页面源代码中不可用,因为它是使用AJAX呈现的

您仍然可以使用无头浏览器(如)和(操作DOM)的组合来抓取网站

当您在任何国家单击inspect元素时,您将看到如下代码

<path d="M384.26,87.96l-0.51,2.35l0.08,0.28l2.61,2.58l-2.99,2.83l-
7.16,2.72l-2.08,0.7l-9.51,-1.71l1.89,-1.36l-0.07,-0.53l-
4.4,-1.59l3.33,-0.59l0.25,-0.32l-0.11,-1.2l-0.25,-0.27l-
4.82,-0.88l1.38,-2.2l3.54,-0.57l3.8,2.74l0.33,0.01l3.68,-2.18l3.02,
1.12l0.25,-0.02l4.01,-2.18l3.72,0.27Z" data-code="IS" fill="#dadada" 
fill-opacity="1" stroke="none" stroke-width="0" stroke-opacity="1" 
fill-rule="evenodd" class="jvectormap-region jvectormap-element">
</path>

除“d”和“数据代码”属性外,每个国家/地区的代码类似。这两种情况对每个国家都是独一无二的。您可以使用SeleniumWebDriver找到使用此唯一属性的元素,然后使用click方法转到登录页面。我想网站的其他部分也会加载AJAX中的内容,这样你就可以坚持使用Selenium、PhantomJS和BeautifulSoup组合来模拟用户登录(使用你的凭据,我没有任何凭据,所以我无法尝试),然后刮取你需要的任何结果

希望这有助于开始


额外好处:要了解“d”属性的值意味着什么,请参考提示和链接。我的司机出了点问题,我会再犯的。:)