【发布时间】:2018-07-01 17:47:05
【问题描述】:
我正在制作一个项目,希望在 Reddit 上的各个子版块上查看用户的平均业力。因此,我正在收集用户业力,这对于新的 reddit 结构来说有点困难。
我无法使用 PRAW,因为那里的业力数字不正确。
根据用户的页面来源,我只需要找到以下两个变量:commentKarma 和 postKarma。这两个变量都可以在“”部分下找到,请参见此处的示例 view-source:https://www.reddit.com/user/loganb3171。但是,当我使用 selenium page_source 或 beautifulsoup 时,它们不会出现。
我已经解决这个问题几个小时了,但我离它还很远。
感谢所有帮助。
这些 sn-ps 中的任何一个都不会给我在右键单击“查看页面源”时获得的整个页面源
source_var = driver.execute_script("return document.getElementsByTagName('html')[0].innerHTML")
source_var=driver.page_source
【问题讨论】:
-
请包含您目前无法使用的相关代码。这可能会帮助别人帮助你。
-
这不是一个精确的解决方案,而是一个建议。最近刷了一下reddit,发现老版网站比新版的爬起来简单多了,新版严重依赖JavaScript。例如,您发布的链接的旧版本是old.reddit.com/user/loganb3171,您可以在名称下方看到用户的业力。我会尝试将其从新站点上删除,但请记住这一点,除非有特定原因您不想删除旧站点。还要记住在抓取时使用标题,因为 reddit 讨厌机器人。
-
是的,问题是我确信他们很快就会强制每个人都使用新网站,而且我不希望我的代码工作一周,因为这个项目需要大约 6 个月才能完成