V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
puyo
V2EX  ›  问与答

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

  •  
  •   puyo · 2013-10-26 16:00:47 +08:00 · 12854 次点击
    这是一个创建于 4079 天前的主题,其中的信息可能已经有所发展或是发生改变。
    地址:http://www.nenu.edu.cn/intramural/content/news/110.php
    thx
    11 条回复    1970-01-01 08:00:00 +08:00
    humiaozuzu
        1
    humiaozuzu  
       2013-10-26 16:04:39 +08:00
    浏览器的会多执行 js 代码啊,html 的结构就会改变。
    还有可能因为你 ua 不一样,服务端给你的内容不一样
    skydiver
        2
    skydiver  
       2013-10-26 16:10:52 +08:00
    @humiaozuzu 右键查看的源代码应该是木有执行过js之前的dom树,F12查看的才是执行之后的。
    puyo
        3
    puyo  
    OP
       2013-10-26 16:14:08 +08:00
    @skydiver
    @humiaozuzu
    有方法能获取执行js之后的html结构吗?
    thx
    puyo
        4
    puyo  
    OP
       2013-10-26 16:17:55 +08:00
    @skydiver F12查看到的Elements和右键看到的一样,sources那里是空的.
    gaicitadie
        5
    gaicitadie  
       2013-10-26 16:21:59 +08:00 via Android
    @skydiver 原来f12还有这功能,受教了
    Jat001
        6
    Jat001  
       2013-10-26 17:20:05 +08:00
    这个页面一行 js 代码都没有,也没加载 js 文件,怎么可能是 js 的事。
    尝试使用空 ua,没有变化。
    此页面是 gb2312 编码的,可能是这个原因。
    binux
        7
    binux  
       2013-10-26 18:11:04 +08:00
    你登录了吗?
    pandada8
        8
    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
        9
    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
        10
    9hills  
       2013-10-26 20:50:23 +08:00   ❤️ 1
    这个页面要带cookie才能访问的,否则就跳转到登录页

    用request session来解决吧,先登录后访问
    puyo
        11
    puyo  
    OP
       2013-10-28 18:46:48 +08:00
    @humiaozuzu
    @skydiver
    @Jat001
    @pandada8
    @Jat001
    @9hills
    感谢大家回复哈.浏览器渲染的页面和requests.get下来的不一样,最后使用ghost.py解决了问题.应该是js的问题,我不知道ua是什么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5342 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:13 · PVG 15:13 · LAX 23:13 · JFK 02:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.