我想从此页面(以及与之相似的页面)中删除数据:https : //cereals.ahdb.org.uk/market-
data-centre/historical-data/feed-
ingredreds.aspx
该页面使用Power BI。不幸的是,找到一种报废Power
BI的方法很困难,因为每个人都想报废使用/报废Power
BI,而不是从报废。
首先,我使用Apache tika,很快我意识到在加载页面后正在加载表数据。我需要页面的渲染版本。
因此,我使用了Selenium。我想Select All
从一开始(发送Ctrl+A
组合键),但是它不起作用。也许它受页面事件的限制(我也尝试使用开发人员工具删除所有事件,但仍然Ctrl+A
无法正常工作。
我也尝试读取HTML内容,但是Power
BIdiv
使用position:absolute
并区分表中的位置div
(行和列)在屏幕上放置了元素,这是一项艰苦的工作。
由于Power BI使用JSON,因此我尝试从那里读取数据。但是它是如此复杂,我找不到规则。似乎将关键字放在某个位置并在表中使用它们的索引。
注意 :我意识到所有数据都不会同时加载甚至显示。div
类的Ascroll-bar-part- bar
负责充当滚动条,并进行移动以加载/显示数据的其他部分。
我用来读取数据的代码如下。如上所述,生成的数据的顺序与在浏览器上呈现的顺序不同:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
options = webdriver.ChromeOptions()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(options=options, executable_path="C:/Drivers/chromedriver.exe")
driver.get("https://app.powerbi.com/view?r=eyJrIjoiYjVjM2MyNjItZDE1Mi00OWI1LWE5YWYtODY4M2FhYjU4ZDU1IiwidCI6ImExMmNlNTRiLTNkM2QtNDM0Ni05NWVmLWZmMTNjYTVkZDQ3ZCJ9")
parent = driver.find_element_by_xpath('//*[@id="pvExplorationHost"]/div/div/div/div[2]/div/div[2]/div[2]/visual-container[4]/div/div[3]/visual/div')
children = parent.find_elements_by_xpath('.//*')
values = [child.get_attribute('title') for child in children]
感谢您解决上述任何问题。对于我而言,最有趣的是约定以JSON格式存储Power BI数据。
撇开滚动部分和JSON,我设法读取了数据。关键是读取父级内部的所有元素(在问题中完成):
parent = driver.find_element_by_xpath('//*[@id="pvExplorationHost"]/div/div/div/div[2]/div/div[2]/div[2]/visual-container[4]/div/div[3]/visual/div')
children = parent.find_elements_by_xpath('.//*')
然后使用它们的位置对它们进行排序:
x = [child.location['x'] for child in children]
y = [child.location['y'] for child in children]
index = np.lexsort((x,y))
要对我们在不同行中阅读的内容进行排序,此代码可能会有所帮助:
rows = []
row = []
last_line = y[index[0]]
for i in index:
if last_line != y[i]:
row.append[children[i].get_attribute('title')]
else:
rows.append(row)
row = list([children[i].get_attribute('title')]
rows.append(row)
问题内容: 我想从此页面(以及与之相似的页面)中删除数据:https : //cereals.ahdb.org.uk/market- data-centre/historical-data/feed- ingredreds.aspx 该页面使用Power BI。不幸的是,找到一种报废Power BI的方法很困难,因为每个人都想报废使用/报废Power BI,而不是从报废。最接近的答案是这个问题。却
我有一个具有以下格式的数据集: 我需要转换: 我试着用 附件包:“dplyr” 从“package:stats”屏蔽了以下对象: 滤波器,滞后
问题内容: 我有一个mysql数据库,正试图从我们的网站主机(godaddy)中检索。我遵循的格式似乎正确,但它告诉我: 码: 我做了conn的print语句,以为连接可能为空,并显示为: 任何人都有什么想法会导致这样的事情? 问题答案: 您的数据库URL应包含您的数据库名称。这通常是您的URL,后跟“ / DBNAME”。 其中“ mydb”是您的数据库名称。
尝试使用Jsoup而不是网站API从网站上练习和获取信息。我的代码没有错误,但文本字段没有更改。它只是给我一个空白。我如何从网站上获取信息?我正试图获取主要新闻,以便在我的网站上发布。 我的代码:
问题内容: 我想使用HTTP GET和POST命令从网站检索URL并解析HTML。我该怎么做呢? 问题答案: 您可以将HttpURLConnection与URL结合使用。
我在somes网站上尝试过,效果很好。问题是当我在一个特定的网站(www.ifood.com.br)使用时。它收集一些链接,然后返回一些错误。我是Python的初学者,所以我不知道它们是什么意思。拜托,我需要一些帮助。 代码的结果: https://d1jgln4w9al398.cloudfront.net/imagens/ce/wl/www.ifood.com.br/favicon.ico ht