html - xpath怎样不包括某个节点?
PHPz
PHPz 2017-04-18 09:37:42
0
3
512

公司有30多个网站,因为G20怕被篡改。
写了个scrapy爬下30多个网站的<body>内容,然后保存json对比。
其中两个网站有访问人数统计,所以每次访问得到的数字都不一样,所以不能判断是否被篡改。
想到的方法是去除掉那两个网站的统计<p>
但是用Xpath始终没有成功。。

<p class="Copyright">
    <p><a href="/index">xxx</a>  
        <a href="#">xxx</a>  
        <a href="#">xx</a>  
        <a href="#">xx</a>  
        <a href="/xxx/nexxxfo/id/6xx4">联系我们</a> | 
        <a href="/xxx/nexxxfo/id/60xx">帮助中心</a><p> 
        <p>xxxx</p>
        <p>xxxxx 访问量:283444</p>
        <p style="width:300px;margin:0 auto 5px auto; ">
            <a target="_blank" href="h" style="dihxxxpx;">xxxx</p></a>
        </p>
    </p>
</p>

使用Xpath //body/*[not(contains(p/@class, 'Copyright'))]
另外也试了好多种方法。都不行
还有一个问题是,因为有两个页面,所以我不能只去除Copyright这个p还有一个叫m-content也要去除。。
请问如何操作。。

PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
巴扎黑

Régulier devrait être ok, non ? L'avez-vous essayé ?

左手右手慢动作
  1. Il semble que contains ne puisse correspondre qu'aux attributs ou au texte de la balise

  2. Vous pouvez utiliser and entre crochets XPath pour faire correspondre la condition en parallèle

刘奇

xpath sert à faire correspondre et à ne pas correspondre. Vous le tirez vers le bas, puis faites correspondre les parties inutiles et les supprimez

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal