为了账号安全,请及时绑定邮箱和手机立即绑定

无论使用Python还是Java,读取网页都会丢失一些信息

无论使用Python还是Java,读取网页都会丢失一些信息

POPMUISE 2021-03-28 15:11:30
当我尝试使用读取某些网页时,页面源如下所示:<p/><table border="1" align="center" cellpadding="10"><tbody><tr><td><a href="/cgi-bin/query/C?c101:./temp/~c1011jI5AQ" title="Displays without navigation or highlighting">Printer Friendly</a>[<a href="/home/billdwnloadhelp.html">Help</a>]</td>但是,当我使用Python的urllib2,urllib或读取此网页的请求时,结果与以下内容相同:<p/><a href="/[<a href="%s">Help</a>]</td>`/C?query:c101" Printer Friendly</a><p/>因此,为什么我无法阅读所有信息并丢失了非常重要的部分C?c101:./temp/~c1011jI5AQ?我试图用Java来阅读,情况是一样的。而且我尝试使用不同的OS,例如Mac,Linux或Windows,结果也是相同的。那么我该如何解决这个问题呢?
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我不确定是否正确理解:第二个示例是您从Python或Java获得的内容。第一个?它是通过使用浏览器查看“源代码”获得的吗?在这种情况下,可能出现以下三种情况:

  • 首先(不太可能),浏览器的“查看源代码”显示由JavaScript修改/更改/生成的源

  • 其次,服务器根据“客户端签名”(通常是用户代理标识)生成不同的内容

  • 第三,服务器根据您浏览器中存储的cookie提供不同的内容

作为测试,您可能会使用curl下载页面并进行一些比较-这将非常适合该任务,因为在许多选项中,您有机会更改提供给服务器的用户代理标识-如此,假装是IE或Firefox或任何您喜欢的东西:

curl(1)Curl手动curl(1)


名称

       curl-传输URL


简介

       curl [选项] [URL ...]


描述

       curl是一种使用

       支持的协议(HTTP, HTTPS,FTP,FTPS,SCP,SFTP,TFTP,DICT,

       TELNET,LDAP或FILE)。该命令被设计为无需用户

       交互即可工作。


       curl提供了大量有用的技巧,例如代理支持,用户身份

       验证,FTP上传,HTTP发布,SSL连接,Cookie,文件传输

       简历等等。正如您将在下面看到的,功能数量将

       转动你的头!


[...] 


      -A /-user-agent 

              (HTTP)指定要发送到HTTP服务器的User-Agent字符串。

              如果此字段未设置为

              “ Mozilla / 4.0”,则某些处理不好的CGI将失败。要对字符串中的空格进行编码,请

              用单引号将字符串引起来。

              当然,也可以使用-H /-header选项进行设置。


              如果多次设置此选项,则最后一个将被

              使用。


查看完整回答
反对 回复 2021-04-02
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信