我正在尝试开发一个简单的网络刮刀.我想在没有HTML代码的情况下提取文本.事实上,我实现了这个目标,但我已经看到在加载JavaScript的某些页面中我没有获得好的结果.
例如,如果某些JavaScript代码添加了一些文本,我看不到它,因为当我打电话时
response = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)
我没有添加原始文本(因为JavaScript在客户端中执行).
所以,我正在寻找一些解决这个问题的想法.
我正在尝试从此网站提取表数据
以下是代码——
import requests
from bs4 import BeautifulSoup as bs
page = requests.get('https://www.vitalityservicing.com/serviceapi/Monitoring/QueueDepth?tenantId=1')
soup = bs(page.text, "html.parser")
#None of the following method works
tb = soup.table
#tb = soup.body.table
#tb = soup.find_all('table')
Run Code Online (Sandbox Code Playgroud)
当我尝试打印tb它时None
所以我尝试查看body下载的 HTML
print(soup.body.prettify())
Run Code Online (Sandbox Code Playgroud)
我没有看到table元素或其子元素。仅存在<body>和元素:<script>
但是当我检查 chrome 中的页面时,我看到了所有元素:
我不明白为什么当我在 chrome 上加载页面时该table元素没有被下载requests.get