正在读取的URL不显示其内容

2024-10-03 04:34:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试完全按照建议的方式读取URL here.

但是,我在输出中得到的内容与我在站点上看到的内容不同。你知道吗

myfile = f.read()
link = "http://www.primatiming.com/#/participant/11/40/37380"
f = urllib.request.urlopen(link)
myfile = f.read()
print(myfile)


b'<!doctype html>\n<html lang="en">\n<head>\n  <meta charset="utf-8">\n
<title>primatiming</title>\n  <base href="/">\n\n  <meta name="viewport"
content="width=device-width, initial-scale=1">\n  <link rel="icon" type="image/x-icon"
href="favicon.ico">\n<link rel="stylesheet" href="styles.1b97fe46abe0706759da.css">
</head>\n<body>\n  <app-root></app-root>\n<script type="text/javascript"
src="runtime.a66f828dca56eeb90e02.js"></script><script type="text/javascript"
src="polyfills.7b309130c7fc8668d4f8.js"></script><script type="text/javascript" 
src="scripts.8e2ccd20353c3cf5326a.js"></script><script type="text/javascript" 
src="main.a865153f87c564c09e4f.js"></script></body>\n</html>\n'

我想知道是否有人能建议阅读这一页的方法?你知道吗

这样做的原因是我只想从primetimingurl中的多个页面下载站点中的表,以便对它们进行一些数据分析。你知道吗

谢谢你。你知道吗


Tags: textsrc内容read站点htmltypejs
3条回答

这是因为网站使用xhr,你需要使用无头浏览器,或者直接尝试他们的公共api。你知道吗

view it from dev console

如您所见,您得到了一些带有脚本标记的html:当您访问页面时,其中的javascript应该分别运行和下载内容。你知道吗

当您正常访问页面时,浏览器会自动为您执行此操作。要验证这一点,请转到浏览器的dev tools网络部分,选中“Preserve log”并尝试访问目标页。如果copy the response,您将看到与使用urllib得到的结果相同的结果。所以你需要一些可以运行javascript的东西来获取数据。你知道吗

一种流行的方法是使用硒,如suggested here。你知道吗

看起来您需要某种无头web浏览器(或Selenium)来处理和呈现javascript,这样您就可以得到结果html。你知道吗

相关问题 更多 >