我目前正在搜索网页中的特定文本。我一直在使用代码:
import urllib
import re
find = "All others"
pageChecker = urllib.urlopen("192.168.1.134/dashboard").read()
if find in pageChecker:
print "Search found!"
else:
print "Search not found"
可以找到页面的 HTML here .
这适用于作为段落填写的任何文本,但问题是我试图找到由 {{ }} 填写的信息。比如有一种叫做
{{story.type}}
当浏览网页时,它显示为一个数字。我怎样才能知道这个数字是多少?
请您参考如下方法:
那些大括号用于运行时模板。这意味着您正在尝试从使用 AngularJS、Vue.js 等库的 HTML5 应用程序中提取数据。基本上,您必须运行 JavaScript 来填充这些占位符。
所以这里有两种解决方案:
使用浏览器打开页面。这将运行 JavaScript 代码,然后您可以查询该字段。您可以使用 PhantomJS 完成此操作、SlimerJS 或 WebDriver 以及您想要的任何浏览器。
JavaScript 应用程序本身必须从某个地方获取数据,很可能是从 JSON 服务获取数据。打开您最喜欢的浏览器开发人员控制台,打开网络选项卡,然后导航到仪表板。你会看到一些请求。搜索包含您需要的信息的那个,然后从 Python 打开它而不是获取 HTML。
