python,使用requests的get一个页面,得到的源代码与浏览器右键查看的不相同?怎么解决?

2013-10-26 16:00:47 +08:00
 puyo
地址:http://www.nenu.edu.cn/intramural/content/news/110.php
thx
12852 次点击
所在节点    问与答
11 条回复
humiaozuzu
2013-10-26 16:04:39 +08:00
浏览器的会多执行 js 代码啊,html 的结构就会改变。
还有可能因为你 ua 不一样,服务端给你的内容不一样
skydiver
2013-10-26 16:10:52 +08:00
@humiaozuzu 右键查看的源代码应该是木有执行过js之前的dom树,F12查看的才是执行之后的。
puyo
2013-10-26 16:14:08 +08:00
@skydiver
@humiaozuzu
有方法能获取执行js之后的html结构吗?
thx
puyo
2013-10-26 16:17:55 +08:00
@skydiver F12查看到的Elements和右键看到的一样,sources那里是空的.
gaicitadie
2013-10-26 16:21:59 +08:00
@skydiver 原来f12还有这功能,受教了
Jat001
2013-10-26 17:20:05 +08:00
这个页面一行 js 代码都没有,也没加载 js 文件,怎么可能是 js 的事。
尝试使用空 ua,没有变化。
此页面是 gb2312 编码的,可能是这个原因。
binux
2013-10-26 18:11:04 +08:00
你登录了吗?
pandada8
2013-10-26 18:13:45 +08:00
curl http://www.nenu.edu.cn/intramural/content/news/110.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>¶«±±ʦ·¶´óѧ</title>
<link href="../../images/nenu_news.css" rel="stylesheet" type="text/css" />
</head>
<body>

<script language="javascript" type="text/javascript"> window.location ="http://www.nenu.edu.cn/intramural/login/login.php";</script>
Jat001
2013-10-26 18:21:04 +08:00
@Jat001 我没注意到这个页面有重定向,你用浏览器查看到的是 http://www.nenu.edu.cn/intramural/login/login.php 的代码。
http://www.nenu.edu.cn/intramural/content/news/110.php 页面用 js 重定向到了 http://www.nenu.edu.cn/intramural/login/login.php
9hills
2013-10-26 20:50:23 +08:00
这个页面要带cookie才能访问的,否则就跳转到登录页

用request session来解决吧,先登录后访问
puyo
2013-10-28 18:46:48 +08:00
@humiaozuzu
@skydiver
@Jat001
@pandada8
@Jat001
@9hills
感谢大家回复哈.浏览器渲染的页面和requests.get下来的不一样,最后使用ghost.py解决了问题.应该是js的问题,我不知道ua是什么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86983

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX