猿问

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

当我尝试使用读取某些网页时,页面源如下所示:

<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,结果也是相同的。那么我该如何解决这个问题呢?


POPMUISE
浏览 149回答 1
1回答

30秒到达战场

我不确定是否正确理解:第二个示例是您从Python或Java获得的内容。第一个?它是通过使用浏览器查看“源代码”获得的吗?在这种情况下,可能出现以下三种情况:首先(不太可能),浏览器的“查看源代码”显示由JavaScript修改/更改/生成的源其次,服务器根据“客户端签名”(通常是用户代理标识)生成不同的内容第三,服务器根据您浏览器中存储的cookie提供不同的内容作为测试,您可能会使用curl下载页面并进行一些比较-这将非常适合该任务,因为在许多选项中,您有机会更改提供给服务器的用户代理标识-如此,假装是IE或Firefox或任何您喜欢的东西:curl(1)Curl手动curl(1)名称&nbsp; &nbsp; &nbsp; &nbsp;curl-传输URL简介&nbsp; &nbsp; &nbsp; &nbsp;curl [选项] [URL ...]描述&nbsp; &nbsp; &nbsp; &nbsp;curl是一种使用&nbsp; &nbsp; &nbsp; &nbsp;支持的协议(HTTP, HTTPS,FTP,FTPS,SCP,SFTP,TFTP,DICT,&nbsp; &nbsp; &nbsp; &nbsp;TELNET,LDAP或FILE)。该命令被设计为无需用户&nbsp; &nbsp; &nbsp; &nbsp;交互即可工作。&nbsp; &nbsp; &nbsp; &nbsp;curl提供了大量有用的技巧,例如代理支持,用户身份&nbsp; &nbsp; &nbsp; &nbsp;验证,FTP上传,HTTP发布,SSL连接,Cookie,文件传输&nbsp; &nbsp; &nbsp; &nbsp;简历等等。正如您将在下面看到的,功能数量将&nbsp; &nbsp; &nbsp; &nbsp;转动你的头![...]&nbsp;&nbsp; &nbsp; &nbsp; -A /-user-agent&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (HTTP)指定要发送到HTTP服务器的User-Agent字符串。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 如果此字段未设置为&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; “ Mozilla / 4.0”,则某些处理不好的CGI将失败。要对字符串中的空格进行编码,请&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 用单引号将字符串引起来。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 当然,也可以使用-H /-header选项进行设置。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 如果多次设置此选项,则最后一个将被&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 使用。
随时随地看视频慕课网APP

相关分类

Python
我要回答