zoukankan      html  css  js  c++  java
  • 简单有效的防网络爬虫技巧?

            女友在51job上找工作,虽然51job已经有工作地点分类,却只分类到城市,但是因为家住浦东,所以,她希望只找在浦东的公司发布的职位,于是向我求救,希望我能帮她把查找结果中公司地点不在浦东的职位信息过滤掉。我一看要求,加上前不久刚写了blogbench——一个基于webbrowser控件的blog发布程序,觉得应该没什么太大的挑战吧~~

           您应该也预料到了,实践的结果总会出人意料的,最后不得不佩服51job设计人员不知是有否有意为之的页面设计风格——每个网页中有两个<html></html>标签对,往往第一个</html>出现在真正的body内容被现示之前

    51job除了首页之外的网页,标签结构一般是这样的:

    <html>
    <head>
    ...
    </head>
    <body attributelist='...' onload='...'>
    </html>
    <html>
    <body>
    真正的显示内容
    </body>
    </html>

    这个结构在被mshtml.HTMLDocument解析后,被存入变量的只会包含以下内容:

    <html>
    <head>
    ...
    </head>
    </html>

    其余内容被忽略,但是,浏览器还是会显示其余内容的~~ 也因此,我用WebBrowser控件浏览其页面,却无论如何也跟踪不到它真正的现示内容

    试着在google和baidu搜索,"职位,51job,程序员",果然没有任何有效查询!

    哎,糟蹋了自己在mm心中的“高手”形象,换得这一点点编程技巧,在此与大家共享,寥解心中闷气~~
  • 相关阅读:
    webservice理解
    什么是xmlschema
    web项目中的跨域问题解决方法
    浏览器的同源策略和跨域问题
    java中Scanner和random的用法
    mybatis的批量删除
    java中的异常理解
    事务回滚
    做人做事2个字:心、眼
    Linux下找不到so文件的解决办法
  • 原文地址:https://www.cnblogs.com/teddyma/p/100293.html
Copyright © 2011-2022 走看看