阅读网址未显示其内容

时间:2018-09-11 07:32:42

标签: python html url

我正在尝试完全按照建议的here.

读取URL

但是,我在输出中得到的内容与在网站上看到的内容不一样。

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'

我想知道是否有人可以建议阅读此页面的任何方式?

之所以这样做,是因为我只是想从原始时间url中的多个页面下载站点中的表,以便可以对它们进行一些数据分析。

谢谢。

4 个答案:

答案 0 :(得分:0)

您似乎需要某种无头的Web浏览器(或Selenium)来处理和呈现javascript,以便可以获取生成的html。

答案 1 :(得分:0)

这是因为该站点使用xhr,并且您需要为此使用无头浏览器或直接尝试使用其公共api。

view it from dev console

答案 2 :(得分:0)

如您所见,您将获得一些带有脚本标签的html:当您访问该页面时,其中的javascript应该单独运行并下载内容。

当您正常访问页面时,您的浏览器会自动为您执行此操作。要验证这一点,请转到浏览器的“开发工具”的“网络”部分,选中“保留日志”,然后尝试访问目标页面。如果您copy the response,将看到与使用urllib相同的结果。因此,您需要可以运行javascript的内容来获取数据。

一种流行的方法是将硒用作suggested here

答案 3 :(得分:-1)

我不太了解您的问题,但我认为您想从此页面获取信息?

所以我可以建议您将xpath与libxml一起使用!

在网络上进行一些研究以进行抓取