科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件使用 python 破除网页限制

使用 python 破除网页限制

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网页中增加限制,无非是在 html 中设置脚本,既然浏览器可以显示出来,就一定能得到它的文本。

作者:albertlee 来源:CSDN 2008年5月21日

关键字: 限制 网页 python 软件

  • 评论
  • 分享微博
  • 分享邮件

       网页中增加限制,无非是在 html 中设置脚本,既然浏览器可以显示出来,就一定能得到它的文本。

第一步,在 python shell 中执行:

>>> import urllib
>>> urllib.urlretrieve("http://www.chinaai.org/Article_Show.asp?ArticleID=315","c:/tmp.html")

urlretrieve 可以把一个网页保存到本地文件。

第二步,分析这个 tmp.html 文件,发现其中的  < body > 标签比较恶心:

body leftmargin=0 topmargin=0 onmousemove='HideMenu()' oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false" onmouseup="document.selection.empty()"

把这个标签换成比较干净的:body leftmargin=0 topmargin=0 onmousemove='HideMenu()'

(注意, < > 在这里省略了)

浏览这个文件, ok 限制解除。

第三步, 自动下载网页,进行“净化”处理, 编写一个python  程序:

import urllib

urls = {'http://www.chinaai.org/Article_Show.asp?ArticleID=315':'prolog2.html'}

new_tag = ""

for url in urls:
    filename = urls[url]
    urllib.urlretrieve(url,filename)
    f = open(filename,'r')
    content = f.read()
    f.close()
    l_pos = content.find('<body')

    r_pos = content.find('>', l_pos)
    cont1 = content[:l_pos]
    cont2 = content[r_pos + 1:]
    content = cont1 + new_tag + cont2
    f = open('tmp.html','w')
    f.write(content)
    f.close()

程序中 urls 是一个 字典,里面是 url 和 相应的本地文件名, 使用者可以根据自己的情况添加。

 

注意,这个程序是专门针对这个网站的, 对于其他的网站,可能使用的方法会有不同,但是按照上面的步骤,相信大家都能搞定。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章