gpt4 book ai didi

python - Selenium 将数据抓取到 pandas 数据框

转载 作者:行者123 更新时间:2023-12-01 08:34:32 25 4
gpt4 key购买 nike

这是我第一次尝试使用 Selenium 进行抓取。

我收集了我想要的东西,但我想将其传递给 pandas dataframe 以便进行一些计算。

下面的示例代码是我获取数据的方式;

(这是财务数据,[2]和[3]分别代表年份(2016、2017)

nf1 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[84]/td[2]').text
nf2 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[84]/td[3]').text

do_v1 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[2]/td[2]').text
do_v2 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[2]/td[3]').text

kvb_1 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[29]/td[2]').text
kvb_2 = driver.find_element_by_xpath('//*[@id="tbodyMTablo"]/tr[29]/td[3]').text

它是一个数值数据,但存储为 str(可能是因为 .text),并且 int(nf2)float(nf2) 不起作用。

有什么方法可以首先存储为值吗?(没有 .text 则返回 0)

抓取数值数据并将其存储在数据框中的正确方法是什么?

提前致谢。

最佳答案

尝试使用 .get_attribute('innerHTML') 而不是 .text

<小时/>

编辑*

<小时/>

您似乎正在尝试将 selenium 对象转换为 int()。但 int 需要一个字符串来转换(仅包含数字)。

所以,你可以尝试这样转换。

“此示例是关于在维基百科上的随机页面上的字段内抓取数字;尝试使其适应您的代码。”

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://it.wikipedia.org/wiki/Internet#Nascita_del_World_Wide_Web_.281991.29')

scraped = driver.find_element_by_xpath('//span[@class="tocnumber" and contains(text(), "1")]')

print(int(scraped.get_attribute('innerHTML')))

driver.quit()

关于python - Selenium 将数据抓取到 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53788085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com