我正在使用 Beautifulsoup 进行抓取。
但由于价格目标在iframe
中,所以无法获取目标。
目标如下。
<span class="last">1,025.5</span>
你能告诉我如何才能达到目标吗? 我的编码如下。
stock = ""
import requests
from bs4 import BeautifulSoup
url = 'https://www.xxxxxx.com/jp/ir/'
html = requests.get(url)
soup = BeautifulSoup(html.text,"html.parser")
span = soup.find_all("span")
for tag in span:
try:
string_ = tag.get("class").pop(0)
if string_ in "last":
stock = tag.string
break
except:
nodata = "データが見つかりません"
print (nodata)
break
print(stock)
最佳答案
Beautiful soup 是一个普通的 HTML 解析器。它不是浏览器的包装器。
如果您想要的内容不属于您所请求的文档(例如,因为它是由 JavaScript 生成的或在 iframe 中加载的不同文档中),它不会自动为您获取。
要从 iframe 获取数据,您需要从您拥有的文档中读取 src
属性,然后向解析为的 URL 发出新的 HTTP 请求,然后解析该文档.
关于html - 用 BeautifulSoup 在 iframe 内部抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52499426/