逃离报价在XPath中(python脚本)

问题描述 投票:1回答:1

我正在做一个Scapy的脚本,使用XPath,收集一些网页信息。我想提取的JavaScript的网址:

<div class="is-hidden-mobile blEntry menu ui_link" data-column="3" onclick="widgetEvCall('handlers.onMenuClicked', event, this, 'http://www.zzz.com/')">
    <span class="ui_icon menu"></span>
    <span class="detail">Menu </span>
</div>

所以,我测试这个命令:

substring-before(substring-after(//@onclick, "'handlers.onMenuClicked', event, this, '"),"'")

和它的作品在Xpath的测试仪。

但是,当我把它放在我的Python脚本,我已经报价问题。于是,我就放反斜杠,但它不工作:

website =  response.xpath('substring-before(substring-after(//@onclick, "\'handlers.onMenuClicked\', event, this"),"\'")').extract()

我期待在网络上,但我没有看到任何答案:S。我觉得我的剧本是复杂的,可以简化,但我不知道怎么的xD。或者,也许有有在脚本中简单的引号中的解决方案...

感谢您的帮助的问候

python xpath scapy
1个回答
1
投票

术后第2天寻找,我找到了答案:d

response.xpath('//div[@class="is-hidden-mobile blEntry menu ui_link"]').re('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+')

我把所有的XPath的答案,我提取与正则表达式的URL。

问候

© www.soinside.com 2019 - 2024. All rights reserved.