python - 在 Python 中使用字符串方法进行网页抓取的问题
问题描述
我对网络抓取非常陌生,我正在用 Python 制作一个简单的程序,它使用字符串方法,例如str.find()
.
目前,我通过以下方式将网页的 HTML 代码提取为字符串
from urllib.request import urlopen
html_str = urlopen(url).read().decode('utf-8')
但是,我对为什么没有返回所有代码感到困惑。例如,一个 Youtube 频道页面显示订阅者数量
<yt-formatted-string id="subscriber-count" class="style-scope ytd-c4-tabbed-header-renderer">106M subscribers</yt-formatted-string>
但是这个字符串没有出现在html_str
.
那么,怎么了?有什么我在做或使用不正确的事情吗?
解决方案
一些网络抓取库不获取 JavaScript 代码或值。我知道的一个也能获取 JavaScript 代码的库是“Selenium”。但它的代价是它的运行速度似乎比其他抓取库慢。
推荐阅读
- python - 不影响 numpy mean 性能的 MKL 线程数
- python - 如何以非常简单的方式获取从用户输入中输入的变量的值?
- python - 如何显示密码测试仪输入的所有错误
- javafx - fontawesomefx 未在 Gluon SceneBuilder 10 中完全加载
- android - onclick 时将数据从 ListView 传递到活动
- powershell - 在 Powershell 中返回一个可选列表
- ruby-on-rails - Rails minitest 返回“NoMethodError: undefined method `make_response!'”
- java - Java Instant.parse on Date java 8
- javascript - 回显 UTC 时间
- c - C:使用浮点的while循环永远不会终止