enter image description here我想从网站上抓取内容:https://www.fireant.vn/App#/company-data/ACB
据我所知,tablea的内容我想从Angularjs动态地抓取渲染数据。他们使用ng repeat将时间、体积、价格等所有值传递到表中
</tr><!-- end ngRepeat: quote in intradayQuotes | orderBy: '-Date' --><tr ng-repeat="quote in intradayQuotes | orderBy: '-Date'" class="ng-scope">
这段代码是我能得到的,因为我真的不知道表是什么类型的对象
driver.get('https://www.fireant.vn/App#/company-data/ACB')
driver.set_window_position(0, 0)
driver.set_window_size(100000, 200000)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
soup = BeautifulSoup(driver.page_source, 'lxml')
关于这件事的任何指示都会很有帮助
我想从表中获取的数据
您需要在站点上进行一些挖掘,以找到CSS选择器(或者xpath,如果您对xml比较熟悉的话),并使用它来获取您感兴趣的元素/文本
对于Angular(和其他Javascript呈现的内容),您可以直接从webdriver获取数据,而不是使用Beauty soup
例如:
根据您发布的屏幕截图,Price和Time似乎具有相同的HTML元素属性,但是,在本例中,您可以使用XPath索引来检索所需的项目
要检索价格,请执行以下操作:
根据屏幕截图,“Price”文本似乎位于
tbody
下的第二个tr
元素中,“Price”单元格位于tr
下的第二个td
元素中。虽然我通常不推荐这种语法,但您的场景是一种特殊情况,其中HTML几乎完全相同相关问题 更多 >
编程相关推荐