2016-12-10 32 views
0

我试图报废一个网站。 它包含一个足球网站,列出所有赛季的所有比赛。 所以我想放弃每一个季节 这里的每场比赛的html页面是网址:http://www.lfp.fr/ligue1/calendrier_resultat#sai=77&jour=1python urlopen:只有URL的第一个属性是通过数据获取的

什么我做的是:

url = 'http://www.lfp.fr/ligue1/calendrier_resultat#' 
data = {'sai':77,'jour':10} 
url_values = urlencode(data) 
response = urlopen(url,url_values) 
soup = BeautifulSoup(response) 

赛是本赛季 和怨妇是周

问题是,给出的页面只取决于'sai'值,无论'jour'等于什么,它总是会返回相同的页面,它将永远是最后一周。

例如我可以输入这样一个网址: http://www.lfp.fr/ligue1/calendrier_resultat#sai=77OUHIGYGO8TY98 它永远不会在意sai = 77后会发生什么。 我不知道它为什么这样做,我真的需要一些帮助。 谢谢

+0

服务器可能会在'#'后面忽略任何内容,所以如果这两个参数中的任何一个在URL中发挥作用,我都会感到惊讶。但是我认为你将这些数据作为'url'的形式'POST',而不是简单地获取该URL。无论如何,它看起来像使用JavaScript动态加载内容,所以你应该使用硒。 Bonne的机会! –

+0

哦,我一直听说硒。我想我也会考虑这个。非常感谢 ! –

回答

0

感谢其他一些stackoverflow帖子的答案,我终于解决了这个问题。

这里的问题是#之后的URL部分是从未发送到服务器的客户端部分。实际上,有一个真正的URL被发送到服务器,我发现它使用Mozilla:你只需去开发人员工具并转到网络选项卡。滚动浏览左侧的标签元素,并查看每个元素,您将看到相应的“请求URL”。 如果您注意,您会发现正确的元素,其请求URL看起来像带有#符号的URL。只需复制粘贴并解决问题即可。

相关问题