2017-08-01 17 views
2

我用robobrowsker訪問這個網址有一個網址www.example.com/test 所以,我覺得在應對一些JS和它包含這樣的發現在JavaScript一定的價值,在響應形式

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'}) 

這給 '無'

那麼我該如何做到這一點?

感謝

回答

0

br.find作品的HTML和你想要的東西是JS調用內部,所以我們不能使用它。

所以其他選項

  1. 使用rejex(奇才。在我看來有點硬編碼)

    通過尋找其最終包含所需數據的節點存在的父節點,然後通過正則表達式查找字符串即'wi5U8xXijdXRrPR4aG84OAjSLsuS1YqTV4X7VLDnWeuwr72D39H-KXBsyG7eZEZPT7YXW7GF26IiQBrW0vcEZd5Bqrjof_CVEUFRTDPS4rx68Opmi6juZXnGDEtb9nsBXxM4Why2WNlflqFM6purXw2'

  2. lxml.html(的XPath)
    它,我可能更喜歡另一種方式是lxml.htmlimport html from lxml同一件事

這裏是對它的一些表示。

data = lmxl.html(parsedData) 
stuff = data.xpath('XPATH to you data') 

你可以找到更多在這裏Can I parse xpath using python, selenium and lxml?,並在docs 以及

一看我希望我是有幫助的。

歡呼聲。