我有一个网址www.example.com/test
所以通过使用 robobrowsker 访问这个 url,我找到了一些 js 作为响应,它包含这样的东西
var token = _.unescape("<input name="__RequestVerificationToken" type="hidden" value="wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2" />");
aw.antiforgeryToken[$(token).attr('name')] = $(token).val();
我想得到 'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2
'
我试过这个
browser=RoboBrowser()
browser.open('https://www.example.com/test')
result=browser.find('script',{'name':'__RequestVerificationToken'})
这给出了"无">
那么我该怎么做呢?
谢谢
br.find
适用于html,并且由于您想要的内容在JS调用中,因此我们不能使用它。
所以其他选择是
-
使用rejex(在我看来有点硬编码(
通过查找最终包含所需数据的节点所在的父节点,然后找到该字符串,即 通过正则表达式
'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'
-
lxml.html(xpath(
这是我可能更喜欢的另一种方式是lxml.html
或import html from lxml
一件事
这是它的一些表示。
data = lmxl.html(parsedData)
stuff = data.xpath('XPATH to you data')
你可以在这里找到更多 我可以使用 python、Selenium 和 lxml 解析 xpath 吗? 并查看文档 也
我希望我有帮助。
干杯。