python读取html_使用Selenium Python解析HTML并读取HTML表

我正在将我的某些网络抓取代码从R转换为Python(我无法让geckodriver与R一起使用,但它与Python一起使用)。无论如何,我试图了解如何使用Python解析和读取HTML表。快速背景,这是我的R代码:

doc <- htmlParse(remDr$getPageSource()[[1]],ignoreBlanks=TRUE, replaceEntities = FALSE, trim=TRUE, encoding="UTF-8")

WebElem <- readHTMLTable(doc, stringsAsFactors = FALSE)[[7]]

我将HTML页面解析为doc对象。然后,我将以开始doc[[1]],并通过更大的数字,直到看到所需的数据。在这种情况下,我去看了想要doc[[7]]的数据。然后,我将读取该HTML表并将其分配给WebElem对象。最终,我将其转换为数据框并开始使用它。

所以我在Python中所做的是这样的:

html = None

doc = None

html = driver.page_source

doc = BeautifulSoup(html)

然后我开始玩,doc.get_text但是我真的不知道如何只获取想要查看的数据。我要查看的数据就像一个10x10矩阵。当我使用R时,我只会使用doc[[7]]该矩阵,几乎可以将它转换成数据帧。但是,我似乎无法使用Python做到这一点。任何建议将不胜感激。

更新:

我已经能够使用Python获取我想要的数据-我关注了此博客,以使用python创建数据框:Python Web-

Scraping。这是我们在该博客中抓取的网站:最受欢迎的犬种。在那篇博客文章中,您必须逐步处理元素,创建字典,遍历表的每一行并将数据存储在每一列中,然后才能创建数据框。

使用R,我唯一需要编写的代码是:

doc <- htmlParse(remDr$getPageSource()[[1]],ignoreBlanks=TRUE,

replaceEntities = FALSE, trim=TRUE, encoding="UTF-8")

df <- as.data.frame(readHTMLTable(doc, stringsAsFactors = FALSE)

有了这一点,我有了一个非常不错的数据框,我只需要调整列名和数据类型-只是该代码看起来像这样:

NULL.V1 NULL.V2 NULL.V3 NULL.V4 1 BREED 2015 2014 2013 2 Retrievers

(Labrador) 1 1 1 3 German Shepherd Dogs 2 2 2 4 Retrievers (Golden) 3 3 3 5

Bulldogs 4 4 5 6 Beagles 5 5 4 7 French Bulldogs 6 9 11 8 Yorkshire Terriers 7

6 6 9 Poodles 8 7 8 10 Rottweilers 9 10 9

Python中没有可用的东西使它更简单吗,还是因为R是为数据帧构建的(至少在我看来是这样,但我可能是错的),所以在R中这只是更简单?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值