Python 3.7 urllib.request代替内容

时间:2018-11-30 20:27:46

标签: python html

因此,我编写了一个代码,该代码读取并打印HTML代码中指定文本之间的所有内容,例如,读取段落之间的所有内容。 这是来自senddex课-here

代码没有问题,但是问题出在哪里。 我用非常具体的条件进行过滤

paragraphs = re.findall(r'<div style="font-size: 23px; margin-top: 20px;" class="jsdfx-sentiment-present">(.*?)</div>',str(respData))

因此,如上所述。稍后打印内容并打印 &nbsp 。据我了解,这是HTML中的非制动空间。我希望看到的不是空格,而是数字。在此网站中,此位置的数字每隔几秒钟就会更新一次。

如何获取这些号码而不是接收&nbsp?

致谢!

1 个答案:

答案 0 :(得分:0)

这取决于您下载页面的方式以及从何处下载,但是由于您说在Web浏览器中查看时值会不断变化,因此我建议您下载页面时,{{ 1}}就是该div内部的内容-当您实际查看页面时,页面会通过javascript或其他方式即时更改它。您的教程使用了一个静态标记,该标记在每次加载页面时都相同,而不是在页面已激活后动态设置的标记。

在Web开发中针对动态值执行此操作是相当普遍的-将占位符值放在div中,然后根据需要动态编辑内容。如果可以的话,如果您只是为页面拍摄快照(甚至更多,如果您在javascript代码之前拍摄快照,那么可以填充该值的东西还有机会运行),您将不会看到更改,则只获得默认值,而无需填写数字。

根据您链接的教程,您可能正在使用&nbsp。如果要从HTML页面获取动态内容,那可能不是最好的工具-您应该研究urllibseleniumThis StackOverflow Answer详细介绍了解决此问题的有效方法。