提问人:DankCoder 提问时间:6/9/2020 更新时间:6/9/2020 访问量:73
有没有更有效的方法来解析 lxml 中的信息
Is there a more efficient way to parse information in lxml
问:
最近,我开始使用 BeautifulSoup 制作一个 YouTube 视频信息提取器,并对其进行了基准测试,发现它非常慢(每个视频大约 1-3 秒),并且当它必须查询大量 url 列表时效率低下
在查看了一个名为 lxml 的解析器(据称速度提高了 30 倍)的一些基准测试后,我决定将项目的 HTML 解析器更改为 lxml,令人惊讶的是,性能确实提高了 30%
性能提高是一个好兆头,但对于大型数据集来说仍然不够,我怀疑这与我的解析方法有关
无论如何,这是我目前从 YouTube 视频中获取各种信息的方法
#advadata is html document loaded in lxml
self.views=advdata.xpath("//div[contains(@class,'watch-view-count')]")[0].text
self.published_on=advdata.xpath("//strong[contains(@class,'watch-time-text')]")[0].text
self.channel="https://youtube.com"+advdata.xpath("//div[contains(@class,'yt-user-info')]/a/@href")[0]
self.creator=advdata.xpath("//div[contains(@class,'yt-user-info')]/a")[0].text
self.likes=advdata.xpath("//button[contains(@class,'like-button-renderer-like-button')]/span")[0].text#like-button-renderer-like-button
self.dislikes=advdata.xpath("//button[contains(@class,'like-button-renderer-dislike-button')]/span")[0].text#like-button-renderer-dislike-button
self.description=advdata.xpath("//p[contains(@id,'eow-description')]")[0].text#eow-description
现在我的问题是,我是否以正确的方式解析信息,如果不是,是否有更快的方法来解析数据?
答: 暂无答案
评论