Python 3.7 urllib.request 重新使用   而不是内容
Posted
技术标签:
【中文标题】Python 3.7 urllib.request 重新使用   而不是内容【英文标题】:Python 3.7 urllib.request reurns   instead of content 【发布时间】:2019-05-03 00:26:19 【问题描述】:所以我编写了一个代码,可以读取和打印 html 代码中指定文本之间的所有内容,例如,读取段落之间的所有内容 - 这会被打印出来。 这是来自 sentdex 课程 - here
代码没有问题,而是出现的问题。 我用非常具体的标准过滤了
paragraphs = re.findall(r'<div style="font-size: 23px; margin-top: 20px;" class="jsdfx-sentiment-present">(.*?)</div>',str(respData))
如前所述,它有效。稍后打印内容并打印   .据我了解,这是 HTML 中的非制动空间。我希望看到数字而不是空间。在这个网站上,这个位置的数字每隔几秒就会更新一次。
我怎样才能得到这些数字而不是接收  ?
问候!
【问题讨论】:
【参考方案1】:这取决于您下载页面的具体方式以及从何处下载,但因为您说在网络浏览器中查看该值时该值会不断变化,所以我敢打赌,当您下载该页面时,@987654322 @ 正是该 div 内部的内容 - 页面在您实际查看页面时通过 javascript 或其他方式即时更改它。您的教程使用静态标记,每次加载页面时都使用相同的标记,而不是在页面已经处于活动状态后动态设置的标记。
在 Web 开发中为动态值执行此操作相当常见 - 将占位符值放在 div 中,然后根据需要动态编辑内容。当然,如果您只是拍摄页面的快照(甚至更重要的是,如果您在 javascript 代码之前拍摄该快照,并且填充该值的其他东西有机会运行),您将不会看到更改, 得到的只是默认值,没有填写数字。
根据您链接的教程,您可能正在使用urllib
。如果您想从 HTML 页面获取动态内容,那可能不是最好的工具 - 您应该查看 selenium
和 BeautifulSoup
。 This *** Answer 详细介绍了该问题的有效解决方案。
【讨论】:
谢谢你,感谢你如此深入地回答:)以上是关于Python 3.7 urllib.request 重新使用   而不是内容的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.7 urllib.request 重新使用   而不是内容
Python Spider - urllib.request
爬虫小探-Python3 urllib.request获取页面数据